views:

488

answers:

1

I have an OSGi plugin with an activator that I am requesting to start under my tomcat jsf project.

Based on: http://www.eclipse.org/equinox/documents/quickstart.php and some other docs, I have placed this structure under my WEB-INF directory to start the equinox implementation of osgi. I have been able to access plugins directly, but not programatically by referencing it from another plugin. This is that example.

MyProject   configuration/       config.ini   org.eclipse.osgi_3.3.0.jar   org.eclipse.equinox.common_3.3.0.jar   org.eclipse.update.configurator_3.2.100.jar   plugins/       com.fnet.tts.service_1.0.0.jar

I have placed the following two lines in the config.ini

osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@start, org.eclipse.equinox.registry@3:start, com.fnet.tts.service@4:start osgi.bundles.defaultStartLevel=4

However I am getting this error, when I attempt to activate the bundle that calls the tts.service.

Details: com.fnet.runtime.KSException: Fail to start bundle 'com.fnet.tts.service.viewSchedule_2.0.0.jar' at com.runtime.impl.RuntimeServiceImpl$KSImpl .loadKnowledgebase(RuntimeServiceImpl.java:190) at com..loadKnowledgebaseHandle(InterviewContext.java:83) Caused by: org.osgi.framework.BundleException: The bundle could not be resolved. Reason: Missing Constraint: Require-Bundle: com.fnet.tts.service; bundle-version="1.0.0" at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl eHost.java:305) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac tBundle.java:265) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac tBundle.java:257) at com.fnet.runtime.impl.RuntimeServiceImpl$KSImpl .loadKnowledgebase(RuntimeServiceImpl.java:188) ... 3 more

I have been looking at this for hours, and I am looking for a clue, hint, or answer so I can move forward.

Thanks.

A: 

Can you enable more debug output to see what happened to the "com.fnet.tts.service" bundle? Did Equinox try to load it and failed, or did not even try?

Also, can you access the OSGi console? If so, how does the list of installed bundles look like? Can you install the bundle from the console manually?

You are starting your bundle at start level 4. Maybe this start level is not being reached. Does it work when you start your bundle (all bundles ?) at level 1?

Thilo