![]() |
|
|
|
|
Change By:
|
Marek Schmidt
(18/Jun/12 11:08 AM)
|
|
Description:
|
The following sample demonstrates a deadlock between SFSB lock and the Component.getInstanceFromFactory factoryLock:
{code} @Stateful @Scope(ScopeType.SESSION) @Name("test") public class TestAction implements Test { public String test() { Thread.sleep(500); Component.getInstance("foo", true); return "test"; } @Factory(value="testString", scope=ScopeType.EVENT) public String getTestString() { return "testString"; }
@Remove public void remove() {} } {code}
{code} @Name("testProducer") public class TestProducer { @Factory(scope=ScopeType.EVENT) public String getFoo() {
System.out.println("XXX: TestProducer in getFoo");
return "foo"; } } {code}
when test.xhtml contains:
{code} <h:outputText value="#{test.test()} " /> {code}
and othertest.xhtml contains: {code} <h:outputText value="#{testString} " /> {code}
If the othertest.seam is requested just after (<500ms after) the test.seam with the same session cookie.
The problem seems to be that the #{test.test()} first locks the TestAction SFSB lock and then the Seam factoryLock in the Component.getInstance call, while #{testString} locks the factoryLock first.
|
|
|
|
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
|
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues