Gah, I've just seen it again. Please bear with me. This time I got a list
of the BundleEvents concerning the two bundles.
Remember: com.elsten.bliss.bundle invokes code in com.elsten.bliss.platform
and then uses the return types to register services.

STOPPED com.elsten.bliss.platform [25]
UNRESOLVED com.elsten.bliss.platform [25]
UPDATED com.elsten.bliss.platform [25]
STOPPED com.elsten.bliss.bundle [31]
UNRESOLVED com.elsten.bliss.bundle [31]
UPDATED com.elsten.bliss.bundle [31]
RESOLVED com.elsten.bliss.platform [25]
STARTED com.elsten.bliss.platform [25]
RESOLVED com.elsten.bliss.bundle [31]
STOPPED com.elsten.bliss.bundle [31]ERROR:
Resolver: Start error - com.elsten.bliss.bundle
org.osgi.framework.BundleException: Activator start error in bundle
com.elsten.bliss.bundle [31].
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2027)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1895)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:931)
at
org.apache.felix.bundlerepository.impl.ResolverImpl.deploy(ResolverImpl.java:630)
at com.elsten.bliss.updater.OnlineUpdater$2.run(OnlineUpdater.java:62)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.ClassCastException:
com.elsten.bliss.music.policy2.PerFixLicensedPolicyCommandExecutor cannot
be cast to
com.elsten.bliss.music.policy2.PerFixLicensedPolicyCommandExecutor
at com.elsten.osgi.Activator.start(Activator.java:39)
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:641)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:1977)
... 8 more

I'll refer to com.elsten.bliss.bundle as .bundle
and com.elsten.bliss.platform as .platform from now...

What I don't understand is that the BundleEvents show that both bundles
went through the stop, update, start (only for .bundle to fail to start)
cycle. So I don't understand why .bundle would have a reference to an old
version of the class in .platform, thus causing the CCE.

If .platform did its own service registration I guess this wouldn't happen
because then there's no real wiring to do?

Dan

Reply via email to