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.