<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <base href="https://issues.jboss.org" />
<title>Message Title</title>
</head>
<body class="jira" style="color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429">
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<!-- header here -->
<tr>
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px"> <img id="header-avatar-image" class="image_fix" src="https://developer.jboss.org/gravatar/f9bd8b8796f11c7296086248441c3a8c?d=mm&s=48" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" />
</td>
<td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="tremes" id="email_tremes" href="https://issues.jboss.org/secure/ViewProfile.jspa?name=tremes" style="color:#3b73af;; color: #3b73af; text-decoration: none">Tomas Remes</a> <strong>commented</strong> on <a href="https://issues.jboss.org/browse/WELD-1788" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-static-task-62ee63b8-bee7-4833-9177-4119c8374ad7" height="16" width="16" border="0" align="absmiddle" alt="Task" /> WELD-1788</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px">
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-spacing: 0; border-collapse: separate">
<tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly">
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://issues.jboss.org/browse/WELD-1788" style="color: #3b73af; text-decoration: none">Re: Create a test for asyc Servlet processing</a> </span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="text-paragraph-pattern-top" class="email-content-main mobile-expand comment-top-pattern" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; border-bottom: none; padding-bottom: 0">
<table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tr>
<td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0">
<p style="margin: 10px 0 0 0">I've experimented with slightly updated <a href="https://github.com/cdi-spec/cdi-tck/blob/master/impl/src/main/java/org/jboss/cdi/tck/tests/context/session/async/SessionContextAsyncListenerTest.java" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none">SessionAsyncListenerTest</a> from TCK. Test is checking whether SessionScoped is active during calls to AsyncListener methods (in this case only onComplete). I've found out that this doesn't work on Tomcat nor on Jetty.</p>
<p style="margin: 10px 0 0 0">It's following scenario on tomcat:</p>
<p style="margin: 10px 0 0 0"></p>
<div id="syntaxplugin" class="syntaxplugin" style="border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;">
<table cellspacing="0" cellpadding="0" border="0" width="100%" style="font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tbody>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; margin-top: 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-1 - request initialized in org.jboss.weld.servlet.WeldInitialListener#requestInitialized</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-2 - Tomcat AsyncContextImpl call asyncListeners</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-2 - request destroyed in org.jboss.weld.servlet.WeldInitialListener#requestDestroyed</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-3 - request initialized in org.jboss.weld.servlet.WeldInitialListener#requestInitialized</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; margin-bottom: 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-3 - request destroyed in org.jboss.weld.servlet.WeldInitialListener#requestDestroyed
</span></pre>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 10px 0 0 0"></p>
<p style="margin: 10px 0 0 0">Following scenario on Jetty:</p>
<p style="margin: 10px 0 0 0"></p>
<div id="syntaxplugin" class="syntaxplugin" style="border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;">
<table cellspacing="0" cellpadding="0" border="0" width="100%" style="font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tbody>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; margin-top: 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-1 - request initialized in org.jboss.weld.servlet.WeldInitialListener#requestInitialized</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-1 - request destroyed in org.jboss.weld.servlet.WeldInitialListener#requestDestroyed</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-2 - call async listeners from org.eclipse.jetty.server.AsyncContinuation#doComplete</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-3 - request initialized in org.jboss.weld.servlet.WeldInitialListener#requestInitialized</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-3 - request destroyed in org.jboss.weld.servlet.WeldInitialListener#requestDestroyed</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-1 - request initialized in org.jboss.weld.servlet.WeldInitialListener#requestInitialized</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> thread-1 - request destroyed in org.jboss.weld.servlet.WeldInitialListener#requestDestroyed</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style=" line-height: 1.4em !important; padding: 0em; vertical-align: top;; padding: 0px; border-collapse: collapse">
<pre style="font-size: 1em; margin: 0 10px; margin-bottom: 10px; width: auto; padding: 0;; margin: 10px 0 0 0"><span style="color: black; font-family: 'Consolas', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important;"> ... followed by chaotic initialize/destroy calls in various threads
</span></pre>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 10px 0 0 0"></p>
<p style="margin: 10px 0 0 0">This does work on Undertow, because it does <a href="https://github.com/undertow-io/undertow/blob/master/servlet/src/main/java/io/undertow/servlet/spec/AsyncContextImpl.java#L591" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none">this</a> before calling asyncListeners in AsyncContextImpl. This is done with help of <a href="https://github.com/undertow-io/undertow/blob/master/servlet/src/main/java/io/undertow/servlet/handlers/ServletRequestContext.java" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none">ServletRequestContext</a> if I understand it correctly.</p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tr>
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"> <a href="https://issues.jboss.org/browse/WELD-1788#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-7d8c6bb8-4158-4c75-8017-37546969d6c7" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle" /> </a>
</td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="https://issues.jboss.org/browse/WELD-1788#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<tr>
<td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #fff; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
This message was sent by Atlassian JIRA <span id="footer-build-information">(v6.3.8#6338-<span title="68f19fa1b0735858c317bd22f79afd47ceeab007" data-commit-id="68f19fa1b0735858c317bd22f79afd47ceeab007}">sha1:68f19fa</span>)</span>
</td>
<td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top">
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-794d1c1c-a733-410e-aa9e-cc2d58c31357" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>