Return-Path: X-Original-To: apmail-tomee-commits-archive@www.apache.org Delivered-To: apmail-tomee-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C238D17FB2 for ; Wed, 4 Mar 2015 18:33:32 +0000 (UTC) Received: (qmail 84128 invoked by uid 500); 4 Mar 2015 18:33:32 -0000 Delivered-To: apmail-tomee-commits-archive@tomee.apache.org Received: (qmail 84100 invoked by uid 500); 4 Mar 2015 18:33:32 -0000 Mailing-List: contact commits-help@tomee.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tomee.apache.org Delivered-To: mailing list commits@tomee.apache.org Received: (qmail 84090 invoked by uid 99); 4 Mar 2015 18:33:32 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Mar 2015 18:33:32 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 8FF73E0F7F; Wed, 4 Mar 2015 18:33:32 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rmannibucau@apache.org To: commits@tomee.apache.org Message-Id: <6eda68483ad442dda9780a49363694fc@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: tomee git commit: activating conversation with request to ensure transient mode works Date: Wed, 4 Mar 2015 18:33:32 +0000 (UTC) Repository: tomee Updated Branches: refs/heads/develop 8d43e3857 -> d2ee62393 activating conversation with request to ensure transient mode works Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/d2ee6239 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/d2ee6239 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/d2ee6239 Branch: refs/heads/develop Commit: d2ee6239307e2e49509d8619c69e8b0a639a1950 Parents: 8d43e38 Author: Romain Manni-Bucau Authored: Wed Mar 4 19:33:20 2015 +0100 Committer: Romain Manni-Bucau Committed: Wed Mar 4 19:33:20 2015 +0100 ---------------------------------------------------------------------- .../apache/openejb/cdi/CdiAppContextsService.java | 15 ++++++++++++--- tck/cdi-embedded/src/test/resources/failing.xml | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/d2ee6239/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java index a32afb0..3870dfa 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java @@ -337,12 +337,13 @@ public class CdiAppContextsService extends AbstractContextsService implements Co //Re-initialize thread local for session final HttpSession session = request.getSession(false); + String cid = null; if (session != null) { initSessionContext(session); final ServletRequestContext rc = getRequestContext(false); if (rc != null && rc.getServletRequest() != null && conversationService != null && !isConversationSkipped(rc)) { - final String cid = rc.getServletRequest().getParameter("cid"); + cid = rc.getServletRequest().getParameter("cid"); if (cid != null) { final ConversationManager conversationManager = webBeansContext.getConversationManager(); final ConversationImpl c = conversationManager.getPropogatedConversation(cid, session.getId()); @@ -351,6 +352,14 @@ public class CdiAppContextsService extends AbstractContextsService implements Co } } } + } else { + cid = getConversationId(); + } + if (cid == null && conversationContext.get() == null) { + // transient but active + final ConversationContext context = new ConversationContext(); + context.setActive(true); + conversationContext.set(context); } } } else if (event == EJB_REQUEST_EVENT) { @@ -595,7 +604,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co destroyObject == null ? context : destroyObject, DestroyedLiteral.CONVERSATION); } - if (null != conversationContext) { + if (null != context) { conversationContext.remove(); } } @@ -672,7 +681,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co } } } - if (context != null && createIfPropagated) { + if (context != null && !context.isActive() && createIfPropagated) { context.setActive(true); } return context; http://git-wip-us.apache.org/repos/asf/tomee/blob/d2ee6239/tck/cdi-embedded/src/test/resources/failing.xml ---------------------------------------------------------------------- diff --git a/tck/cdi-embedded/src/test/resources/failing.xml b/tck/cdi-embedded/src/test/resources/failing.xml index 550c902..81a4955 100644 --- a/tck/cdi-embedded/src/test/resources/failing.xml +++ b/tck/cdi-embedded/src/test/resources/failing.xml @@ -31,7 +31,7 @@ -Dopenejb.embedded.try-jsp=true --> - +