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.