Hi,

Could it be that your bundles resolve to different org.osgi.service.cm
packages ?

The configuadmin 1.2.4 exports the 1.3 version (and re-imports its own
export).

If in the framework an older version of the cm package is exported, e.g.
from the system bundle, bundles may be wired to the old package and thus
you get the class cast exceptions.

Best solution would be to remove the cm package export from that other
bundle if possible.

Or you might just refresh the fileinstall bundle, which would then cause
the fileinstall bundle to wire to the new cm package version 1.3 export
from configadmin 1.2.4.

Regards
Felix

Atle Prange schrieb:
> Hi,
> 
> when i install the configadmin bundle 1.2.4 i get ClassCastExceptions:
> 
> java.lang.ClassCastException:
> 
>  org.apache.felix.cm.impl.ConfigurationAdminImpl cannot be cast to
> org.osgi.service.cm.ConfigurationAdmin
>       at org.apache.felix.fileinstall.internal.FileInstall
> $1.addingService(FileInstall.java:79)
>       at org.osgi.util.tracker.ServiceTracker
> $Tracked.customizerAdding(ServiceTracker.java:896)
>       at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
>       at
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
>       at org.osgi.util.tracker.ServiceTracker
> $Tracked.serviceChanged(ServiceTracker.java:840)
>       at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:878)
>       at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
>       at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
>       at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3603)
>       at org.apache.felix.framework.Felix.access$000(Felix.java:40)
>       at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:624)
>       at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:90)
>       at org.apache.felix.framework.Felix.registerService(Felix.java:2716)
>       at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
>       at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
>       at
> org.apache.felix.cm.impl.ConfigurationManager.start(ConfigurationManager.java:237)
>       at
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:667)
>       at org.apache.felix.framework.Felix.activateBundle(Felix.java:1699)
>       at org.apache.felix.framework.Felix.startBundle(Felix.java:1621)
>       at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:890)
>       at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:877)
>       at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:819)
>       at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:805)
>       at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:301)
> 
> 
> I assume this happens because both configadmin and fileinstall export
> the org.osgi.service.cm package. When configadmin tries to cast its own
> COnfigurationManagerImpl to ConfigurationManager, its sees fileinstalls
> exported interface, and throws a classcast exeption.
> 
> Am i correct? 
> 
> Would a solution be to omit the interfaces from the bundles and rather
> import them from the a compendium bundle?
> 
> -atle
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to