Repository: tomee Updated Branches: refs/heads/develop de9cd659e -> ebaf1b0f0
ensuring @Suspended works with opeenjb-http Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/91e6ba6c Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/91e6ba6c Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/91e6ba6c Branch: refs/heads/develop Commit: 91e6ba6c324aab8a80a76064f657e80bfdf3291e Parents: de9cd65 Author: Romain Manni-Bucau <[email protected]> Authored: Tue Feb 10 15:13:23 2015 +0100 Committer: Romain Manni-Bucau <[email protected]> Committed: Tue Feb 10 15:13:23 2015 +0100 ---------------------------------------------------------------------- .../server/httpd/OpenEJBAsyncContext.java | 38 ++++++++++++++++++++ 1 file changed, 38 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/91e6ba6c/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBAsyncContext.java ---------------------------------------------------------------------- diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBAsyncContext.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBAsyncContext.java index 06c85e2..979e123 100644 --- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBAsyncContext.java +++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBAsyncContext.java @@ -38,7 +38,9 @@ import java.net.HttpURLConnection; import java.net.Socket; import java.net.URI; import java.util.ArrayList; +import java.util.Enumeration; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.Executors; @@ -262,6 +264,41 @@ public class OpenEJBAsyncContext implements AsyncContext { } @Override + public Object getAttribute(final String name) { + return request.getAttribute(name); + } + + @Override + public Enumeration<String> getAttributeNames() { + return request.getAttributeNames(); + } + + @Override + public void setAttribute(final String name, final Object value) { + request.setAttribute(name, value); + } + + @Override + public String getHeader(final String name) { + return request.getHeader(name); + } + + @Override + public Enumeration<String> getHeaderNames() { + return request.getHeaderNames(); + } + + @Override + public Enumeration<String> getHeaders(final String s) { + return request.getHeaders(s); + } + + @Override + public int getIntHeader(final String s) { + return request.getIntHeader(s); + } + + @Override public String getMethod() { return request.getMethod(); } @@ -269,6 +306,7 @@ public class OpenEJBAsyncContext implements AsyncContext { if (HttpRequestImpl.class.isInstance(request)) { // needed for some advanced cases like async req.setUri(HttpRequestImpl.class.cast(request).getURI()); } + req.setAttribute("openejb_async_dispatch", true); registry.onMessage(req, HttpResponse.class.isInstance(response) ? HttpResponse.class.cast(response) : new ServletResponseAdapter(HttpServletResponse.class.cast(response))); complete(); } catch (final Exception e) {
