Have it happened to you? Your ServiceMix/osgi service in test environment is working, but when you try to depoy it to another environment, something is missing…. Ok here is some tips for you. First, go to you working test environment and run a import -i on your correct installed service (int this case 239):
smx@root> imports -i 239 OPS4J Pax Logging - API (4): org.apache.commons.logging; version=1.1.1 OPS4J Pax Logging - API (4): org.apache.commons.logging; version=1.0.4 Spring Beans (69): org.springframework.beans.factory; version=3.0.7.RELEASE camel-core (96): org.apache.camel.model; version=2.10.4 camel-core (96): org.apache.camel.builder; version=2.10.4 camel-core (96): org.apache.camel; version=2.10.4 camel-spring (98): org.apache.camel.osgi; version=2.10.4 camel-http (185): org.apache.camel.component.http; version=2.10.4 Apache ServiceMix :: Components :: Shared Libraries :: Common (211): org.apache.servicemix.common.osgi; version=2013.1.0 XPS Utilities (222): se.xps.ssek.smx.xps_utils; version=2.0.0 smx@root>
Ok, now you see what and which ID it’s depending on. For instance “OPS4J Pax Logging – API” with ID 4.
Now, verify that you have all dependencies in our new environment. You will probably notice that allot is missing. To see everything lower your threshold like this:
list -t 5
A list -l is also most helpful since it tells you “from where” a service where installed. This will hopefully help you figure out whats missing in your new environment and how you installed it.