From b11cc2ae0b2db487970b98200ce4f5edcf29c3bc Mon Sep 17 00:00:00 2001 From: Ales Justin Date: Tue, 8 Mar 2011 12:58:35 +0100 Subject: [PATCH] [WELD-865]; check conversation lock --- .../weld/context/AbstractConversationContext.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/impl/src/main/java/org/jboss/weld/context/AbstractConversationContext.java b/impl/src/main/java/org/jboss/weld/context/AbstractConversationContext.java index 89bf4cc0e25..40d6f4bb782 100644 --- a/impl/src/main/java/org/jboss/weld/context/AbstractConversationContext.java +++ b/impl/src/main/java/org/jboss/weld/context/AbstractConversationContext.java @@ -292,10 +292,16 @@ public void activate(String cid) else { setRequestAttribute(getRequest(), CURRENT_CONVERSATION_ATTRIBUTE_NAME, getConversation(cid)); - getCurrentConversation().lock(getConcurrentAccessTimeout()); - NamingScheme namingScheme = new ConversationNamingScheme(ConversationContext.class.getName(), cid); - setBeanStore(createRequestBeanStore(namingScheme, getRequest())); - getBeanStore().attach(); + if (getCurrentConversation().lock(getConcurrentAccessTimeout())) + { + NamingScheme namingScheme = new ConversationNamingScheme(ConversationContext.class.getName(), cid); + setBeanStore(createRequestBeanStore(namingScheme, getRequest())); + getBeanStore().attach(); + } + else + { + throw new IllegalStateException("Conversation lock timed out: " + cid); + } } }