Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
We're migrating from Talend 6.2.1 to 7.1.1.
TOS migrated all our routes but routes using a cJMS input and calling REST services through cMessagingEndpoint using http4 component are failing.
When they start, we get the following stacktrace :
Failed to create route TestActiveMQAndHttp4_cJMS_1 at: >>> To[http4:localhost:8593] <<< in route: Route(TestActiveMQAndHttp4_cJMS_1)[[From[cMQConnectionFactor... because of Failed to resolve endpoint: http4://localhost:8593 due to: Cannot auto create component: http4 org.apache.camel.FailedToCreateRouteException: Failed to create route TestActiveMQAndHttp4_cJMS_1 at: >>> To[http4:localhost:8593] <<< in route: Route(TestActiveMQAndHttp4_cJMS_1)[[From[cMQConnectionFactor... because of Failed to resolve endpoint: http4://localhost:8593 due to: Cannot auto create component: http4 at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1298) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:204) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:1089) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3542) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3273) at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:202) at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:3091) at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:3087) at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:3110) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:3087) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:3024) at org.apache.camel.main.Main.doStart(Main.java:139) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) at org.apache.camel.main.MainSupport.run(MainSupport.java:168) at local_project.testactivemqandhttp4_0_1.TestActiveMQAndHttp4.run(TestActiveMQAndHttp4.java:209) at local_project.testactivemqandhttp4_0_1.TestActiveMQAndHttp4.runJobInTOS(TestActiveMQAndHttp4.java:306) at local_project.testactivemqandhttp4_0_1.TestActiveMQAndHttp4.main(TestActiveMQAndHttp4.java:276) Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: http4://localhost:8593 due to: Cannot auto create component: http4 at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:723) at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:80) at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:219) at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:112) at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:118) at org.apache.camel.model.SendDefinition.resolveEndpoint(SendDefinition.java:62) at org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:56) at org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:549) at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:510) at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:226) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1295) ... 17 more Caused by: org.apache.camel.RuntimeCamelException: Cannot auto create component: http4 at org.apache.camel.impl.DefaultCamelContext.initComponent(DefaultCamelContext.java:510) at org.apache.camel.impl.DefaultCamelContext.lambda$getComponent$0(DefaultCamelContext.java:448) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source) at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:448) at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:432) at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:666) ... 27 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.camel.component.http4.HttpComponent': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.camel.component.http4.HttpComponent]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.camel.component.http4.HttpComponent.registerExtension(Ljava/util/function/Supplier;)V at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:279) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1201) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1103) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:343) at org.apache.camel.spring.spi.SpringInjector.newInstance(SpringInjector.java:39) at org.apache.camel.impl.DefaultComponentResolver.resolveComponent(DefaultComponentResolver.java:73) at org.apache.camel.impl.DefaultCamelContext.initComponent(DefaultCamelContext.java:497) ... 32 more Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.camel.component.http4.HttpComponent]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.camel.component.http4.HttpComponent.registerExtension(Ljava/util/function/Supplier;)V at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:122) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:271) ... 40 more Caused by: java.lang.NoSuchMethodError: org.apache.camel.component.http4.HttpComponent.registerExtension(Ljava/util/function/Supplier;)V at org.apache.camel.component.http4.HttpComponent.<init>(HttpComponent.java:133) at org.apache.camel.component.http4.HttpComponent.<init>(HttpComponent.java:127) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142) ... 42 more
We reproduced this problem on a fresh installed TOS, with a route as below :
We use Windows 7 and Java 8 update 201.
Thanks for your help.
Hello,
Please go to Help - Install Additional packages and also menu Window -> Show View -> modules to make 100% sure that you manually install jar file for each component successfully.
Double check - In preference make sure that your Talend is pointed to 1.8 JDK.
Best regards
Sabrina
Hello,
I'm the same error.
I apply your configuration but not working.
Version java JDK 1.8.0_191
Talend TOS_ESB 7.1.1
If include library "activemq-all-5.15.2.tesb1-6.0.0-SNAPSHOT.jar" for Talend version 7.0.1 in Talend 7.1.1 is work.
Thanks for your help.
Best regards.
Damien
Hi
It's a bug in Talend ESB. Very surprised it is stil not fixed, as I faced it years ago in Talend ESB 6.3
Workaround : set your cMQConnectionFactory as "customized", with this code :
jmsConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory(context.link_AMQTcpConnectionBUS);
(or copy/paste the code that the regular component adds in the "code" tab, if different from this)
Then add a library dependancy : activemq-all-5.10.0.jar (or other version)
Hope this helps
Thanks for your helps but how to know the max version supported.
I'm trying in version :
- activemq-all-5.15.2
- activemq-all-5.15.3
- activemq-all-5.15.9
But not working. Only the version include into talend 7.0.1 (activemq-all-5.15.2.tesb1-6.0.0-SNAPSHOT)
Damien
it's work but this library is very old.
I'm testing other versions and the max version supported is 5.12.0.
I don't understand why higher versions don"t work.
hi,
so, using the method provided by Loko, with the activemq-all-5.15.2.tesb1-6.0.0-SNAPSHOT, i can run the route in my Talend Studio.
But when deploy on Talend ESB Runtime (7.1.1_SE_267_release/7.1.1), the bundle don't start.
bundle:diag :
Status: GracePeriod
Blueprint
30/08/19 16:14
Missing dependencies:
(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://www.springframework.org/schema/beans)) (&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://camel.apache.org/schema/blueprint))
Declarative Services
Client log :
java.lang.ClassCastException: org.springframework.beans.factory.xml.SimplePropertyNamespaceHandler cannot be cast to org.springframework.beans.factory.xml.NamespaceHandler
Hawtio log :
Bundle mediation.son_cap_pool_amq/0.1.0 is waiting for namespace handlers [http://www.springframework.org/schema/beans, http://camel.apache.org/schema/blueprint]
any help would be appreciated.
cu
For information, the bug discussed in this post is not resolved in TOS ESB 7.2.1