Thanks for the reply, Freeman.  Perhaps I was not sufficiently clear in
referring to potential fixes in 2.3 Karaf.  What I based that comment upon
was that 2.3 Karaf will subsume OSGi 4.3 which specifies Provide-Capability
and Requires-Capability bundle headers that I suspect might solve my
problem.

I have seen Refresh work one time in my tests.  More often when I try it, I
wind up with a corrupt gogo shell and I might see a nasty stack trace on the
gogo shell (below).  At any event, I do not see benefit from coding some
activator code to look up another bundle and refresh it just to hack around
this problem, particularly when my tests with gogo using refresh does not
work well.  (For what it's worth, a fairly complex jpa-hibernate feature
seems to be a necessary catalyst in causing my problem.  I can't reproduce
my problem when it is not installed.)

Has anybody experienced issues with fragments (in Felix) becoming corrupt
somehow and no longer attaching to their hosts?  Does anybody have a better
work around then just not depending on the fragment to inject the
export-package, but instead to install the jar file in the extensions
directory.

Stack trace from a gogo refresh is as follows:
admin@root>ERROR: Bundle org.springframework.osgi.extender [80] Error
stopping bundle. (java.lang.NoClassDefFoundError:
org/osgi/framework/ServiceRegistration)
java.lang.NoClassDefFoundError: org/osgi/framework/ServiceRegistration
        at
org.springframework.osgi.util.OsgiServiceUtils.unregisterService(OsgiServiceUtils.java:41)
        at
org.springframework.osgi.extender.internal.support.NamespaceManager.unregisterResolverService(NamespaceManager.java:195)
        at
org.springframework.osgi.extender.internal.support.NamespaceManager.destroy(NamespaceManager.java:223)
        at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener.shutdown(ContextLoaderListener.java:547)
        at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener.stop(ContextLoaderListener.java:431)
        at
org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:651)
        at org.apache.felix.framework.Felix.stopBundle(Felix.java:2278)
        at org.apache.felix.framework.Felix$RefreshHelper.stop(Felix.java:4668)




--
View this message in context: 
http://servicemix.396122.n5.nabble.com/fragments-jdbc-driver-manager-bundle-cache-help-tp5716040p5716058.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to