1) Service

The bundle where the service is declared (osgi:service) only import this
package

org.apache.activemq.camel.component

2) Referenced

The bundle where the service will be consumed (osgi:reference) import these
references :

org.apache.commons.logging,
org.apache.camel,
org.apache.camel.component,
org.apache.camel.component.jms,
org.apache.activemq.camel.component;${activemq.osgi.version},
org.apache.activemq.pool,

but the error is alway there



gnodet wrote:
> 
> You don't need to export the package, as this one is exported by the
> activemq-camel bundle.
> But you need to import additional packages such as org.apache.camel and
> all
> packages that are used by the osgi service that you are trying to get a
> reference to.
> 
> 2009/3/16 cmoulliard <[email protected]>
> 
>>
>> My issue is that the name of the package is the same between
>> import-package
>> and export-package and maven felix bnd does not add export package :
>>
>>                                <configuration>
>>
>>  <manifestLocation>META-INF</manifestLocation>
>>                                        <instructions>
>>
>>  <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
>>
>>  <Import-Package>org.apache.activemq.camel.component,*</Import-Package>
>>
>>  <Export-Package>org.apache.activemq.camel.component</Export-Package>
>>
>>  <Include-Resource>src/main/resources</Include-Resource>
>>
>>
>> <Spring-Context>*;publish-context:=false;create-asynchronously:=true</Spring-Context>
>>
>>  <Private-Package></Private-Package>
>>                                        </instructions>
>>                                </configuration>
>>
>> and result of the importation (no Export-Package appears)
>>
>> ActiveMq Broker Feature (103)
>> -----------------------------
>> Manifest-Version = 1.0
>> Bnd-LastModified = 1237215735043
>> Tool = Bnd-0.0.255
>> Spring-Context = *;publish-context:=false;create-asynchronously:=true
>> Bundle-Name = ActiveMq Broker Feature
>> Built-By = Charlesm
>> Import-Package = org.apache.activemq.camel.component
>> Bundle-SymbolicName = reportincident.activemq
>> Bundle-Version = 1.0.0.SNAPSHOT
>> Build-Jdk = 1.6.0_12
>> Created-By = Apache Maven Bundle Plugin
>> Bundle-ManifestVersion = 2
>>
>>
>>
>> gnodet wrote:
>> >
>> > The reason is that for a given OSGi bundle to be able to see a service
>> in
>> > the OSGi registry, it has to have on its classpath all the classes or
>> > interfaces exported by the target OSGi service.  I suspect that in your
>> > case, your client bundle does not import all the needed packages.  You
>> can
>> > see the exact list of classes exported using the "osgi/ls" command and
>> the
>> > list of packages imported using "packages/import" command.
>> > Make sure your bundle imports all the packages from the export list.
>> > This is a drawback of using auto-export imho.
>> >
>> > 2009/3/16 cmoulliard <[email protected]>
>> >
>> >>
>> >> Hi,
>> >>
>> >> I have created an osgi bundle where the bean to expose as a service is
>> >> defined in a spring file :
>> >>
>> >>    <bean id="activemq"
>> >> class="org.apache.activemq.camel.component.ActiveMQComponent">
>> >>                        <property name="brokerURL"
>> >> value="vm://localhost:61616?create=false" />
>> >>    </bean>
>> >>
>> >>    <osgi:service id="activemqservice" ref="activemq"
>> >> auto-export="all-classes"/>
>> >>
>> >> The service is well published. See the log here after.
>> >>
>> >> 13:18:42,058 | DEBUG | xtenderThread-16 |
>> OsgiBundleXmlApplicationContext
>> >>  |
>> >> ractOsgiBundleApplicationContext  247 | Registering BundleContext as a
>> >> bean
>> >> named bundleContext
>> >> 13:18:42,058 | DEBUG | xtenderThread-16 |
>> >> WaiterApplicationContextExecutor
>> >> |
>> >> WaiterApplicationContextExecutor  218 | Pre-refresh completed;
>> >> determining
>> >> dependencies...
>> >> 13:18:42,058 | DEBUG | xtenderThread-16 | DependencyServiceManager
>> >> |
>> >> startup.DependencyServiceManager  253 | Discovered local dependency
>> >> factories: []
>> >> 13:18:42,074 | DEBUG | xtenderThread-16 | DefaultListableBeanFactory
>> >> |
>> >> ort.DefaultSingletonBeanRegistry  214 | Creating shared instance of
>> >> singleton bean 'activemqservice'
>> >> 13:18:42,074 | DEBUG | xtenderThread-16 | DefaultListableBeanFactory
>> >> |
>> >> ractAutowireCapableBeanFactory$1  383 | Creating instance of bean
>> >> 'activemqservice'
>> >> 13:18:42,074 | DEBUG | xtenderThread-16 | DefaultListableBeanFactory
>> >> |
>> >> stractAutowireCapableBeanFactory  459 | Eagerly caching bean
>> >> 'activemqservice' to allow for resolving potential circular references
>> >> 13:18:42,105 | DEBUG | xtenderThread-16 | CachedIntrospectionResults
>> >> |
>> >> beans.CachedIntrospectionResults  151 | Not strongly caching class
>> >>
>> >>
>> [org.springframework.osgi.service.importer.support.OsgiServiceProxyFactoryBean]
>> >> because it is not cache-safe
>> >> 13:18:42,105 | DEBUG | xtenderThread-16 | DefaultListableBeanFactory
>> >> |
>> >> stractAutowireCapableBeanFactory 1367 | Invoking afterPropertiesSet()
>> on
>> >> bean with name 'activemqservice'
>> >> 13:18:42,105 | DEBUG | xtenderThread-16 | DefaultListableBeanFactory
>> >> |
>> >> ractAutowireCapableBeanFactory$1  411 | Finished creating instance of
>> >> bean
>> >> 'activemqservice'
>> >> 13:18:42,105 | INFO  | xtenderThread-16 | DependencyServiceManager
>> >> |
>> >> startup.DependencyServiceManager  278 | Adding OSGi service dependency
>> >> for
>> >> importer [&activemqservice] matching OSGi filter
>> >> [(objectClass=org.apache.activemq.camel.component.ActiveMQComponent)]
>> >>
>> >> Unfortunately, the osgi bundle who will consume the osgi:service
>> >>
>> >>        <osgi:reference id="activemqservice"
>> >> interface="org.apache.activemq.camel.component.ActiveMQComponent" />
>> >>
>> >> generates an error
>> >>
>> >> 13:18:42,105 | DEBUG | xtenderThread-16 | DependencyServiceManager
>> >> |
>> >> startup.DependencyServiceManager  226 | 1 OSGi service dependencies, 1
>> >> unsatisfied (for beans [&activemqservice]) in
>> >> OsgiBundleXmlApplicationContext(bundle=reportincident.interfaces,
>> >> config=osgibundle:/META-INF/spring/*.xml)
>> >> 13:18:42,105 | INFO  | xtenderThread-16 | DependencyServiceManager
>> >> |
>> >> startup.DependencyServiceManager  232 |
>> >> OsgiBundleXmlApplicationContext(bundle=reportincident.interfaces,
>> >> config=osgibundle:/META-INF/spring/*.xml) is waiting for unsatisfied
>> >> dependencies [[&activemqservice]]
>> >> 13:18:42,105 | DEBUG | xtenderThread-16 |
>> >> WaiterApplicationContextExecutor
>> >> |
>> >> WaiterApplicationContextExecutor  257 | Registering service dependency
>> >> dependencyDetector for
>> >> OsgiBundleXmlApplicationContext(bundle=reportincident.interfaces,
>> >> config=osgibundle:/META-INF/spring/*.xml)
>> >> 13:18:42,121 | DEBUG | xtenderThread-16 | DependencyServiceManager
>> >> |
>> >> startup.DependencyServiceManager  297 |
>> >> OsgiBundleXmlApplicationContext(bundle=reportincident.interfaces,
>> >> config=osgibundle:/META-INF/spring/*.xml) has registered service
>> >> dependency
>> >> dependencyDetector with filter:
>> >> (objectClass=org.apache.activemq.camel.component.ActiveMQComponent)
>> >>
>> >> What is the cause of this issue ? Do I have to change something in my
>> >> MANIFEST file ?
>> >>
>> >>
>> >>
>> >>
>> >> -----
>> >> Charles Moulliard
>> >> SOA Architect
>> >>
>> >> My Blog :  http://cmoulliard.blogspot.com/
>> >> http://cmoulliard.blogspot.com/
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/1-OSGi-service-dependencies%2C-1-unsatisfied-%28for-beans---activemqservice-%29-in-OsgiBundleXmlApplicationContext-tp22537014p22537014.html
>> >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > Cheers,
>> > Guillaume Nodet
>> > ------------------------
>> > Blog: http://gnodet.blogspot.com/
>> > ------------------------
>> > Open Source SOA
>> > http://fusesource.com
>> >
>> >
>>
>>
>> -----
>> Charles Moulliard
>> SOA Architect
>>
>> My Blog :  http://cmoulliard.blogspot.com/
>> http://cmoulliard.blogspot.com/
>> --
>> View this message in context:
>> http://www.nabble.com/1-OSGi-service-dependencies%2C-1-unsatisfied-%28for-beans---activemqservice-%29-in-OsgiBundleXmlApplicationContext-tp22537014p22540154.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
> 
> 


-----
Charles Moulliard
SOA Architect

My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/  
-- 
View this message in context: 
http://www.nabble.com/1-OSGi-service-dependencies%2C-1-unsatisfied-%28for-beans---activemqservice-%29-in-OsgiBundleXmlApplicationContext-tp22537014p22540577.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to