0 Replies Latest reply on Jul 2, 2009 5:40 PM by wuguangyi

    Race Condition in Hot Deployment

    wuguangyi

      I am using Seam 2.1.1.GA and JBoss 4.2.3.GA. I ran into IllegalArgumentException in UnsafeObjectFieldAccessorImpl.set() time to time during component injection. I debugged closely and found those components refer to different ClassLoaders. Grepping the log, I found


      2009-07-02 11:06:24,088 INFO  (http-0.0.0.0-8080-2 ) [org.jboss.seam.init.Initialization] redeploying components
      2009-07-02 11:06:24,151 INFO  (http-0.0.0.0-8080-1 ) [org.jboss.seam.init.Initialization] redeploying components
      2009-07-02 11:06:24,385 INFO  (http-0.0.0.0-8080-1 ) [org.jboss.seam.init.Initialization] done redeploying components
      2009-07-02 11:06:24,401 INFO  (http-0.0.0.0-8080-2 ) [org.jboss.seam.init.Initialization] done redeploying components



      Looking into the log in the above period, I can see the components are initialized in the 2 different threads. I think the code within line 778-798 in Initialization.java should be synchronized.


      Please let me know if I misunderstood this issue or configured incorrectly. Any advice on working around is very appreciated.