Hi Lars,
Your problem is related to how you deploy the JBI component.
I had this problem when I installed component from the command line using:
osgi install mvn:org.apache.servicemix/servicemix-bean/3.2.1/zip/installer
The reason is that if you do that, the JBI -> OSGi transformation is skipped.
It should work if you use the following command:
osgi install
jbi:mvn:org.apache.servicemix/servicemix-bean/3.2.1/zip/installer
or if you copy it to the deploy folder.
To check how it was deployed, grab the bundle id of the component using the
osgi list
and then run
osgi headers [bundle id]
You should see something like:
DynamicImport-Package = javax.*,org.xml.*,org.w3c.*
If you don't, this means the bundle has not been processed by the JBI
layer before
being installed.
Maybe you used the 3.3 components ? I did some work some months ago to add some
OSGi manifest entries, but i don't think this header has been added.
if this is the case,
it's just a matter of changing the jbi maven plugin to add it.
On Thu, Mar 13, 2008 at 9:48 AM, lhein <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I installed the actual milestone of the kernel and deployed the NMR.
> Afterwards I moved the shared-compat and shared libs to the deploy together
> with
> bean, file, http, jsr181, mail, osworkflow, camel and jms.
> Most of the components seem to be started but two are not: http and jms.
> JMS is complaining about a missing InitialContext (I know this is still
> missing), but the more interesting is the http component. It throws a
> java.lang.NoClassDefFoundError:
> javax/security/auth/callback/CallbackHandler. Same if I try to deploy a SA
> using the servicemix-mail component. There it complains also about some
> javax.net.* class.
>
> How can I solve this problem? It seems that the activation.jar is missing.
> How do I integrate it correctly?
>
> Regards,
> Lars
>
>
>
>
> The snippet from the servicemix.log:
>
> -----------------------------------------------------------------------------------------------------------
> 09:37:03,692 | INFO | FelixStartLevel | servicemix-shared-compat |
> ? ? | ServiceEvent REGISTERED
> 09:37:03,708 | INFO | FelixStartLevel | Deployer |
> cemix.jbi.deployer.impl.Deployer 181 | Deploying bundle 'ServiceMix :: HTTP
> (servicemix-http)' as a JBI component
> 09:37:05,018 | INFO | FelixStartLevel | jetty |
> .servicemix.http.jetty.JCLLogger 83 | Logging to
> [EMAIL PROTECTED] via
> org.apache.servicemix.http.jetty.JCLLogger
> 09:37:05,230 | INFO | FelixStartLevel | servicemix-http |
> ? ? | ServiceEvent REGISTERED
> 09:37:05,353 | INFO | FelixStartLevel | ComponentRegistryImpl |
> ntime.impl.ComponentRegistryImpl 92 | JBI component registered with
> properties: {NAME=servicemix-http, objectClass=[Ljava.lang.String;@127ff0d,
> service.id=49, TYPE=binding-component}
> 09:37:05,371 | INFO | FelixStartLevel | osgi |
> ? ? | ServiceEvent REGISTERED
> 09:37:05,375 | INFO | FelixStartLevel | osgi |
> ? ? | ServiceEvent REGISTERED
> 09:37:05,392 | WARN | FelixStartLevel | OsgiServiceCollection |
> n.OsgiServiceCollection$Listener 121 | serviceChanged() processing failed
> java.lang.NoClassDefFoundError: javax/security/auth/callback/CallbackHandler
> at
> org.apache.servicemix.http.HttpComponent.doInit(HttpComponent.java:212)
> at
>
> org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.java:187)
> at
>
> org.apache.servicemix.jbi.deployer.impl.ComponentImpl$ComponentWrapper.init(ComponentImpl.java:243)
> at
>
> org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:98)
> at
>
> org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:38)
> at
>
> org.apache.servicemix.nmr.core.ServiceRegistryImpl.register(ServiceRegistryImpl.java:47)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
>
> org.springframework.osgi.util.internal.ReflectionUtils.invokeMethod(ReflectionUtils.java:100)
> at
>
> org.springframework.osgi.config.CustomListenerAdapterUtils.invokeCustomMethods(CustomListenerAdapterUtils.java:153)
> at
>
> org.springframework.osgi.config.OsgiServiceLifecycleListenerAdapter.bind(OsgiServiceLifecycleListenerAdapter.java:186)
> at
>
> org.springframework.osgi.service.importer.internal.util.OsgiServiceBindingUtils.callListenersBind(OsgiServiceBindingUtils.java:48)
> at
>
> org.springframework.osgi.service.importer.internal.collection.OsgiServiceCollection$Listener.serviceChanged(OsgiServiceCollection.java:92)
> at
>
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:765)
> at
>
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:623)
> at
>
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:554)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3602)
> at org.apache.felix.framework.Felix.access$000(Felix.java:36)
> at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:625)
> at
>
> org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:559)
> at
>
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:75)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2714)
> at
>
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254)
> at
>
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:232)
> at
>
> org.apache.servicemix.jbi.deployer.impl.Deployer.registerService(Deployer.java:364)
> at
>
> org.apache.servicemix.jbi.deployer.impl.Deployer.installComponent(Deployer.java:212)
> at
> org.apache.servicemix.jbi.deployer.impl.Deployer.register(Deployer.java:134)
> at
>
> org.apache.servicemix.jbi.deployer.impl.Deployer.checkPendingBundles(Deployer.java:357)
> at
>
> org.apache.servicemix.jbi.deployer.impl.Deployer.installSharedLibrary(Deployer.java:315)
> at
> org.apache.servicemix.jbi.deployer.impl.Deployer.register(Deployer.java:138)
> at
>
> org.apache.servicemix.jbi.deployer.impl.AbstractBundleWatcher.onBundleStarted(AbstractBundleWatcher.java:80)
> at
>
> org.apache.servicemix.jbi.deployer.impl.AbstractBundleWatcher.afterPropertiesSet(AbstractBundleWatcher.java:65)
> at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
> at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
> at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
> at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
> at java.security.AccessController.doPrivileged(Native Method)
> at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
> at
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
> at
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
> at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
> at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
> at
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:400)
> at
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:736)
> at
>
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:248)
> at
>
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
> at
>
> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
> at
>
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageTwo(DependencyWaiterApplicationContextExecutor.java:310)
> at
>
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:246)
> at
>
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:163)
> at
>
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:124)
> at
>
> org.springframework.osgi.extender.internal.ContextLoaderListener$2.run(ContextLoaderListener.java:630)
> at
>
> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
> at
>
> org.springframework.osgi.extender.internal.ContextLoaderListener.maybeCreateApplicationContextFor(ContextLoaderListener.java:670)
> at
>
> org.springframework.osgi.extender.internal.ContextLoaderListener$ContextBundleListener.handleEvent(ContextLoaderListener.java:179)
> at
>
> org.springframework.osgi.extender.internal.ContextLoaderListener$BaseListener.bundleChanged(ContextLoaderListener.java:124)
> at
>
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:690)
> at
>
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:619)
> at
>
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:532)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3591)
> at org.apache.felix.framework.Felix._startBundle(Felix.java:1604)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1532)
> at
> org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:1116)
> at
> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:258)
> at java.lang.Thread.run(Thread.java:595)
>
> --
> View this message in context:
> http://www.nabble.com/Question-regarding-SMX4-tp16023606s12049p16023606.html
> Sent from the ServiceMix - Dev mailing list archive at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/