Hi - tried the solution with ranking - getting ClassNotFound.

I have the following:

*Bundle 1(independent):*
interface - com.xyz.HandlerIF,
implementation - com.xyz.impl.DefaultHandlerImpl implements HandlerIF
Declaration:
<bean id="contentHandler" class="com.xyz.impl.DefaultHandlerImpl">
<osgi:service auto-export="all-classes" ref="contentHandler" 
                        interface="com.xyz.HandlerIF" ranking="5"/>

*Bundle 2(dependent from Bundle 1):*
implementation - com.xyz.impl.MyHandlerImpl implements HandlerIF
Declaration:
<bean id="myContentHandler" class="com.xyz.impl.MyHandlerImpl">
<osgi:service auto-export="all-classes" ref="myContentHandler" 
                        interface="com.xyz.HandlerIF" ranking="6"/>

and stack trace looks like:

Caused by: java.lang.ClassNotFoundException: com.xyz.impl.MyHandlerImpl not
found from bundle [my-content-handler]
        at
org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:103)
        at
org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
        at
org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1271)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1242)
        ... 11 more
Caused by: java.lang.ClassNotFoundException: com.xyz.impl.MyHandlerImpl not
found by default-content-handler [287]
        at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787)
        at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
        at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)

I thought with the aim of loose coupling we could keep Bundle 1 independent
of Bundle 2 - could it be so?

Appreciate.


--
View this message in context: 
http://servicemix.396122.n5.nabble.com/SMX-osgi-louse-coupling-tp4750392p4757528.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to