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

    Race Condition in Hot Deployment

    George Wu Newbie

      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- ) [org.jboss.seam.init.Initialization] redeploying components
      2009-07-02 11:06:24,151 INFO  (http- ) [org.jboss.seam.init.Initialization] redeploying components
      2009-07-02 11:06:24,385 INFO  (http- ) [org.jboss.seam.init.Initialization] done redeploying components
      2009-07-02 11:06:24,401 INFO  (http- ) [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.