A customer is  installing a package that restarts various other bundles, one of 
these being the iPOJO framework so that it can pick up all of the iPOJO's that 
have been created. The problem comes when deploying multiple CQ5 pages. There 
appears to be some Threading issue with the OSGI framework causing the below 
exception in the logs, the end result the OSGI framework is left with some 
bundles not being started correctly.
The exception we see in the logs is: -
31.07.2012 14:54:10.281 *ERROR* [FelixDispatchQueue] org.apache.felix.ipojo 
FrameworkEvent ERROR (java.util.ConcurrentModificationException) 
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at 
org.apache.felix.ipojo.InstanceCreator.removeInstancesFromBundle(InstanceCreator.java:117)
at org.apache.felix.ipojo.Extender.closeManagementFor(Extender.java:147)
at org.apache.felix.ipojo.Extender.bundleChanged(Extender.java:129)
...
Customer has an automated build and deploy landscape using ANT/IVY as the 
build/dependency management tool.
As per the logs[1], it can be seen that one thread is trying to register the 
iPOJO component while another is unregistering it.
Is there a way for having a thread safe mechanism for installing a package and 
waiting for the OSGI bundles to be restarted?



[1]
31.07.2012 13:12:31.312 *INFO* [OsgiInstallerImpl] org.apache.felix.ipojo 
Service [3067] ServiceEvent UNREGISTERING
31.07.2012 13:12:31.315 *INFO* [Thread-1901] org.apache.felix.ipojo Service 
[3184] ServiceEvent REGISTERED
31.07.2012 13:12:31.335 *INFO* [OsgiInstallerImpl] 
com.sap.components.contactcta Service [com.sap.cta.configuration,3066] 
ServiceEvent UNREGISTERING
31.07.2012 13:12:31.335 *ERROR* [FelixDispatchQueue] org.apache.felix.ipojo 
FrameworkEvent ERROR (java.util.ConcurrentModificationException) 
java.util.ConcurrentModificationException


Varun mitra| Technical Support Engineer| adobe systems inc.

Reply via email to