In the current version there is still a deadlock between SFSB Synchronization lock and the component lock used by Component.getInstanceFromFactory in a specific case.

The problematic case is when the factory is used (mediately or immediately) from another method in the same SFSB, such as in the following case:

@Stateful
   @Scope(ScopeType.SESSION)
   @Name("factoryLock.test")
   public static class FactoryLockAction implements FactoryLockLocal
   {
      public String testSameFactory() {
         Thread.sleep(500);
         return (String)Component.getInstance("factoryLock.testString", true);
      }
      
      @Factory(value="factoryLock.testString", scope=ScopeType.SESSION)
      public String getTestString() {
         return "testString";
      }
      @Remove
      public void remove() {}
   }

with one thread evaluating #{factoryLock.test.testSameFactory()} and the other #{factoryLock.testString}

See FactoryLockTest.sameFactoryLock

Change By: Marek Schmidt (03/Jul/12 8:29 AM)
Resolution: Done
Status: Resolved Reopened
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

Reply via email to