Hi Emmanuel,
which version of the jbi-maven-plugin do you use ?
I'm gonna make a try to see if a dependency in test scope is included in
the jbi artifact (SU).
In that case, it's a bug in the jbi-maven-plugin which should ignore
test scoped artifacts.
Regards
JB
On 10/27/2010 05:13 PM, Emmanuel Guiton wrote:
Hello all,
As the issue re-appeared, we isolated the cause of the problem.
In our pom.xml, we are using the following dependency that we need to
build our test cases (though, to isolate the problem we did not include
any source in the bundle) :
<dependency>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-core</artifactId>
<version>3.3.2</version>
<scope>test</scope>
</dependency>
With this dependency, the exception appears when loading the SU in
servicemix.
Without this dependency, everything is fine.
It is also strange that the problem occurs when deploying the bundle
while the dependency is specified with the "test" scope.
Note that we tried with different values for the scope ("provided",
"compile"), always with the same result.
To reproduce the bug :
Step 1.
- from a brand new servicemix installation (we tested with Apache
ServiceMix 4.3.0-fuse-01-00)
- install a servicemix-example (e.g. bridge) => we noticed this step
ensures every class is correctly loaded before installing something else.
- install the heimdall bundle (with a generic SA (cf attached sample)
and an xbean.xml defining one http:consumer endpoint for the SU, cf
attached sample)
- check with jbi:list both SAs appear
- uninstall the example
- restart servicemix
- once everything is loaded, check jbi:list again : the Heimdall SA does
not appear
- log:display-exception shows an error similar to the one hereafter
- installing any further bundle triggers the same error
Step 2.
- clean all the installed bundles
- restart servicemix
- check servicemix is clean by installing an example and ensuring it
appears in jbi:list
- comment out the servicemix-core dependency and rebuild the bundles
- install the heimdall-sa
- uninstall the example
- restart servicemix
- once everything is loaded, heimdall-sa still appears in jbi:list
Any good hint on how we could avoid this issue ? Or fix it ?
Thanks,
- emmanuel
On 10/21/2010 10:17 AM, Emmanuel Guiton wrote:
Hello Jean-Baptiste,
Here is my environment :
SMX : 4.3.0-fuse-01-00 ( same with 4.3.0-fuse-02-00 )
JDK : 1.6.0.20
OS : Kubuntu 10.04 ( Linux kernel 2.6.32-25-generic )
Thanks,
- emmanuel
On 10/19/2010 07:20 PM, Jean-Baptiste Onofré wrote:
Hi Emmanuel,
could you provide some information about environment: SMX version,
JDK version, OS, etc ?
Thanks
Regards
JB
On 10/19/2010 06:12 PM, Emmanuel Guiton wrote:
Hello all,
We have met several times the error hereafter, when deploying our SA
bundles.
It does not happen every time when we install our bundles.
When it happens, uninstalling the bundles, restarting ServiceMix, and
the re-installing the bundles solve the issue.
We checked the code in Spring and he noticed that the argument types
are
correct so we suspect a class-loading problem.
Has anyone more information on this issue ?
We saw a few similar post on Internet, without solution.
Regards,
- emmanuel
17:33:05,220 | ERROR | l Console Thread | ServiceAssemblyInstaller |
er.impl.ServiceAssemblyInstaller 212 | 93 -
org.apache.servicemix.jbi.deployer - 1.3.0.fuse-00-00 | Error deploying
SU heimdall-http-su
javax.jbi.management.DeploymentException: <component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message">
<component-name>servicemix-http</component-name>
<component-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
<task-status-msg><msg-loc-info><loc-token/><loc-message>Could not
deploy
xbean service unit</loc-message></msg-loc-info></task-status-msg>
<exception-info>
<nesting-level>1</nesting-level>
<msg-loc-info>
<loc-token />
<loc-message>Failed to invoke method: public static void
org.apache.xbean.spring.context.impl.QNameHelper.coerceQNamePropertyValues(org.apache.xbean.spring.context.impl.QNameReflectionParams)
via reflection: java.lang.IllegalArgumentException: argument type
mismatch; nested exception is java.lang.IllegalArgumentException:
argument type mismatch</loc-message>
<stack-trace><![CDATA[org.springframework.beans.factory.BeanDefinitionStoreException:
Failed to invoke method: public static void
org.apache.xbean.spring.context.impl.QNameHelper.coerceQNamePropertyValues(org.apache.xbean.spring.context.impl.QNameReflectionParams)
via reflection: java.lang.IllegalArgumentException: argument type
mismatch; nested exception is java.lang.IllegalArgumentException:
argument type mismatch
at
org.apache.xbean.spring.context.impl.QNameReflectionHelper.coerceNamespaceAwarePropertyValues(QNameReflectionHelper.java:48)
at
org.apache.xbean.spring.context.v2c.XBeanQNameHelper.coerceNamespaceAwarePropertyValues(XBeanQNameHelper.java:58)
at
org.apache.xbean.spring.context.v2c.XBeanBeanDefinitionParserDelegate.parseBeanDefinitionElement(XBeanBeanDefinitionParserDelegate.java:59)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:396)
at
org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parseBeanFromExtensionElement(XBeanNamespaceHandler.java:224)
at
org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parseBeanFromExtensionElement(XBeanNamespaceHandler.java:276)
at
org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parse(XBeanNamespaceHandler.java:156)
at
org.apache.xbean.spring.context.v2.XBeanNamespaceHandler.parse(XBeanNamespaceHandler.java:49)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1335)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1325)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:84)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
at
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126)
at
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.loadBeanDefinitions(FileSystemXmlApplicationContext.java:168)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)
at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
at
org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
at
org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
at
org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
at
org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
at
org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:276)
at
org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:54)
at
org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:41)
at
org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
at
org.apache.felix.gogo.runtime.shell.CommandProxy.execute(CommandProxy.java:50)
at
org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:229)
at
org.apache.felix.gogo.runtime.shell.Closure.executeStatement(Closure.java:162)
at org.apache.felix.gogo.runtime.shell.Pipe.run(Pipe.java:101)
at org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:79)
at
org.apache.felix.gogo.runtime.shell.CommandSessionImpl.execute(CommandSessionImpl.java:71)
at org.apache.karaf.shell.console.jline.Console.run(Console.java:180)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
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:597)
at
org.apache.xbean.spring.context.impl.QNameReflectionHelper.coerceNamespaceAwarePropertyValues(QNameReflectionHelper.java:45)
... 52 more
]]></stack-trace>
</msg-loc-info>
</exception-info>
</task-result-details>
</component-task-result-details>
</component-task-result>
at
org.apache.servicemix.common.ManagementSupport.failure(ManagementSupport.java:46)[90:servicemix-common:2010.02.0.fuse-00-00]
at
org.apache.servicemix.common.AbstractDeployer.failure(AbstractDeployer.java:43)[90:servicemix-common:2010.02.0.fuse-00-00]
at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:118)[90:servicemix-common:2010.02.0.fuse-00-00]
at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)[90:servicemix-common:2010.02.0.fuse-00-00]
at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)[90:servicemix-common:2010.02.0.fuse-00-00]
at
org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-00-00]
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-00-00]
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-00-00]
at
org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-00-00]
at
org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-00-00]
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:276)[osgi-3.6.0.v20100517.jar:]
at
org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:54)[16:org.apache.karaf.shell.osgi:2.0.0]
at
org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:41)[9:org.apache.karaf.shell.console:2.0.0]
at
org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[9:org.apache.karaf.shell.console:2.0.0]
at
org.apache.felix.gogo.runtime.shell.CommandProxy.execute(CommandProxy.java:50)[15:org.apache.felix.gogo.runtime:0.4.0]
at
org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:229)[15:org.apache.felix.gogo.runtime:0.4.0]
at
org.apache.felix.gogo.runtime.shell.Closure.executeStatement(Closure.java:162)[15:org.apache.felix.gogo.runtime:0.4.0]
at
org.apache.felix.gogo.runtime.shell.Pipe.run(Pipe.java:101)[15:org.apache.felix.gogo.runtime:0.4.0]
at
org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:79)[15:org.apache.felix.gogo.runtime:0.4.0]
at
org.apache.felix.gogo.runtime.shell.CommandSessionImpl.execute(CommandSessionImpl.java:71)[15:org.apache.felix.gogo.runtime:0.4.0]
at
org.apache.karaf.shell.console.jline.Console.run(Console.java:180)[9:org.apache.karaf.shell.console:2.0.0]
at java.lang.Thread.run(Thread.java:619)[:1.6.0_20]