Weld and netty dependency
splatch May 29, 2012 1:30 AMHey,
During my work on camel-netty quickstart I decided to change quickstart to receive frames (ChannelBuffer instances) instead of String payload. I've changed interface of service to:
public interface GreetingService { void greet(ChannelBuffer name); }
Tests works fine, but at the runtime I have few exceptions. First is thrown by Weld
07:22:10,751 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 1303ms - Started 141 of 218 services (74 services are passive or on-demand) 07:22:10,756 INFO [org.jboss.as.server.deployment] (MSC service thread 1-10) JBAS015876: Starting deployment of "switchyard-quickstart-camel-netty-binding.jar" 07:22:10,818 INFO [org.jboss.weld.deployer] (MSC service thread 1-13) JBAS016002: Processing weld deployment switchyard-quickstart-camel-netty-binding.jar 07:22:10,842 INFO [org.jboss.weld.deployer] (MSC service thread 1-9) JBAS016005: Starting Services for CDI deployment: switchyard-quickstart-camel-netty-binding.jar 07:22:10,888 INFO [org.jboss.weld.Version] (MSC service thread 1-9) WELD-000900 1.1.6 (Final) 07:22:10,899 INFO [org.switchyard] (MSC service thread 1-9) Deploying SwitchYard application 'switchyard-quickstart-camel-netty-binding.jar' 07:22:10,903 INFO [org.jboss.weld.deployer] (MSC service thread 1-7) JBAS016008: Starting weld service for deployment switchyard-quickstart-camel-netty-binding.jar 07:22:11,078 INFO [org.jboss.weld.ClassLoading] (MSC service thread 1-7) WELD-000119 Not generating any bean definitions from org.switchyard.quickstarts.camel.netty.binding.GreetingServiceBean because of underlying class loading error 07:22:11,079 INFO [org.jboss.weld.ClassLoading] (MSC service thread 1-7) catching: org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class org.switchyard.quickstarts.camel.netty.binding.GreetingServiceBean at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:167) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.BeanDeployer.loadWeldClass(BeanDeployer.java:108) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:79) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:123) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:184) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:349) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.as.weld.WeldContainer.start(WeldContainer.java:82) [jboss-as-weld-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.weld.services.WeldService.start(WeldService.java:76) [jboss-as-weld-7.1.1.Final.jar:7.1.1.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_31] at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_31] Caused by: java.lang.NoClassDefFoundError: org/jboss/netty/buffer/ChannelBuffer at java.lang.Class.getDeclaredMethods0(Native Method) [classes.jar:1.6.0_31] at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) [classes.jar:1.6.0_31] at java.lang.Class.getDeclaredMethods(Class.java:1791) [classes.jar:1.6.0_31] at org.jboss.weld.util.reflection.SecureReflections$8.work(SecureReflections.java:175) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.util.reflection.SecureReflections$8.work(SecureReflections.java:172) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.util.reflection.SecureReflectionAccess.runAndWrap(SecureReflectionAccess.java:63) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.util.reflection.SecureReflections.getDeclaredMethods(SecureReflections.java:172) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:234) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:119) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:59) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:50) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355) at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184) at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153) at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69) at com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393) at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:163) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] ... 12 more Caused by: java.lang.ClassNotFoundException: org.jboss.netty.buffer.ChannelBuffer from [Module "deployment.switchyard-quickstart-camel-netty-binding.jar:main" from Service Module Loader] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) ... 30 more 07:22:11,091 INFO [org.jboss.weld.ClassLoading] (MSC service thread 1-7) WELD-000119 Not generating any bean definitions from org.switchyard.quickstarts.camel.netty.binding.GreetingService because of underlying class loading error 07:22:11,091 INFO [org.jboss.weld.ClassLoading] (MSC service thread 1-7) catching: org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class org.switchyard.quickstarts.camel.netty.binding.GreetingService at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:167) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.BeanDeployer.loadWeldClass(BeanDeployer.java:108) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:79) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:123) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:184) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:349) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.as.weld.WeldContainer.start(WeldContainer.java:82) [jboss-as-weld-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.weld.services.WeldService.start(WeldService.java:76) [jboss-as-weld-7.1.1.Final.jar:7.1.1.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_31] at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_31] Caused by: java.lang.NoClassDefFoundError: org/jboss/netty/buffer/ChannelBuffer at java.lang.Class.getDeclaredMethods0(Native Method) [classes.jar:1.6.0_31] at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) [classes.jar:1.6.0_31] at java.lang.Class.getDeclaredMethods(Class.java:1791) [classes.jar:1.6.0_31] at org.jboss.weld.util.reflection.SecureReflections$8.work(SecureReflections.java:175) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.util.reflection.SecureReflections$8.work(SecureReflections.java:172) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.util.reflection.SecureReflectionAccess.runAndWrap(SecureReflectionAccess.java:63) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.util.reflection.SecureReflections.getDeclaredMethods(SecureReflections.java:172) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:234) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:119) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:59) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:50) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355) at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184) at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153) at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69) at com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393) at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:163) [weld-core-1.1.6.Final.jar:2012-03-21 18:52] ... 12 more Caused by: java.lang.ClassNotFoundException: org.jboss.netty.buffer.ChannelBuffer from [Module "deployment.switchyard-quickstart-camel-netty-binding.jar:main" from Service Module Loader] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) ... 30 more
Second exception is thrown because bean service is not bound:
07:22:11,182 INFO [org.switchyard] (MSC service thread 1-13) Starting SwitchYard service 07:22:11,417 INFO [org.apache.camel.impl.converter.AnnotationTypeConverterLoader] (MSC service thread 1-13) Found 3 packages with 15 @Converter classes to load 07:22:11,433 INFO [org.apache.camel.impl.converter.DefaultTypeConverter] (MSC service thread 1-13) Loaded 170 core type converters (total 170 type converters) 07:22:11,436 INFO [org.apache.camel.impl.converter.AnnotationTypeConverterLoader] (MSC service thread 1-13) Loaded 2 @Converter classes 07:22:11,440 INFO [org.apache.camel.impl.converter.DefaultTypeConverter] (MSC service thread 1-13) Loaded additional 13 type converters (total 183 type converters) in 0.005 seconds 07:22:11,626 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-13) MSC00001: Failed to start service jboss.deployment.unit."switchyard-quickstart-camel-netty-binding.jar".SwitchYardService: org.jboss.msc.service.StartException in service jboss.deployment.unit."switchyard-quickstart-camel-netty-binding.jar".SwitchYardService: org.switchyard.exception.SwitchYardException: Unknown Service name '{urn:switchyard-quickstart:camel-netty-binding:0.1.0}GreetingService'. at org.switchyard.as7.extension.services.SwitchYardService.start(SwitchYardService.java:79) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_31] at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_31] Caused by: org.switchyard.exception.SwitchYardException: Unknown Service name '{urn:switchyard-quickstart:camel-netty-binding:0.1.0}GreetingService'. at org.switchyard.component.bean.deploy.BeanComponentActivator.activateService(BeanComponentActivator.java:82) at org.switchyard.deploy.internal.Deployment.deployImplementations(Deployment.java:392) at org.switchyard.deploy.internal.Deployment.start(Deployment.java:140) at org.switchyard.as7.extension.deployment.SwitchYardDeployment.start(SwitchYardDeployment.java:103) at org.switchyard.as7.extension.services.SwitchYardService.start(SwitchYardService.java:72) ... 5 more 07:22:11,645 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "switchyard-quickstart-camel-netty-binding.jar" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"switchyard-quickstart-camel-netty-binding.jar\".SwitchYardService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"switchyard-quickstart-camel-netty-binding.jar\".SwitchYardService: org.switchyard.exception.SwitchYardException: Unknown Service name '{urn:switchyard-quickstart:camel-netty-binding:0.1.0}GreetingService'."}} 07:22:11,648 INFO [org.jboss.weld.deployer] (MSC service thread 1-9) JBAS016009: Stopping weld service for deployment switchyard-quickstart-camel-netty-binding.jar 07:22:11,653 INFO [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015877: Stopped deployment switchyard-quickstart-camel-netty-binding.jar in 7ms 07:22:11,654 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report JBAS014777: Services which failed to start: service jboss.deployment.unit."switchyard-quickstart-camel-netty-binding.jar".SwitchYardService: org.jboss.msc.service.StartException in service jboss.deployment.unit."switchyard-quickstart-camel-netty-binding.jar".SwitchYardService: org.switchyard.exception.SwitchYardException: Unknown Service name '{urn:switchyard-quickstart:camel-netty-binding:0.1.0}GreetingService'. 07:22:11,656 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"switchyard-quickstart-camel-netty-binding.jar\".SwitchYardService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"switchyard-quickstart-camel-netty-binding.jar\".SwitchYardService: org.switchyard.exception.SwitchYardException: Unknown Service name '{urn:switchyard-quickstart:camel-netty-binding:0.1.0}GreetingService'."}}}}
What is strange for me - if I don't use netty in my jar directly - it works fine. Do you have any ideas how to make quickstart running with ChannelBuffer from netty? Otherwise it will show nasty result of ChannelBuffer.toString (eg. "BigEndianHeapChannelBuffer(ridx=0, widx=4, cap=4)" instead of payload sent to service.