I am using Gemini JPA along with EclipseLink on Apache Felix, and I can reproduce a deadlock at will. Here's what happens:
- Gemini JPA gets installed. - My bundle which includes persistence entities is installing. - Gemini JPA gets notification about my bundle's status change - Gemini JPA scans the bundle, decides it's a persistence bundle, then calls refresh on the bundle. - The refresh is locked waiting for the install to complete - The install is waiting for the refresh to complete. Anybody seen something like that happen before? What's the right way to do this? It seems like a lock ordering problem (looking at what's being locked, it seems one thread is waiting for the bundle lock while the other is waiting for the global lock). Thanks, Jad.