Hi,

I am trying out the latest Camel K release 2.1.0. And tried to use a  camel 
route of format XML with a Spring bean:
 <camel>
   <beans xmlns="http://www.springframework.org/schema/beans";>
        <bean id="mybean" class="java.lang.String">
            <constructor-arg index="0" value=" Hello from Bean"/>
        </bean>
    </beans>
  <route>
    <from uri="direct:hello"/>
               <transform>
      <constant>Hello World</constant>
    </transform>
               <bean ref="mybean" method="concat" />
  </route>
</camel>

On the integration pod I got the error:

←[39m←[38;5;145m2023-10-30 06:08:17,990←[39m←[38;5;188m 
←[39m←[38;5;203mERROR←[39m←[38;5;188m 
[←[39m←[38;5;69mio.qua.run.Application←[39m←[38;5;188m] 
(←[39m←[38;5;71mmain←[39m←[38;5;188m) ←[39m←[38
;5;151mFailed to start application (with profile [prod])←[39m←[38;5;203m: 
java.lang.RuntimeException: Failed to start quarkus
        at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
        at io.quarkus.runtime.Application.start(Application.java:101)
        at 
io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:111)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
        at io.quarkus.runner.GeneratedMain.main(Unknown Source)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61)
        at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
org.apache.camel.FailedToCreateRouteException: Failed to create route route1 
at: >>> Bean[ref:mybean method:concat] <<< in route:
Route(route1)[From[direct:hello] -> [Transform[constant{Hell... because of No 
bean could be found in the registry for: mybean
        at 
org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:47)
        at 
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown
 Source)
        at 
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown
 Source)
        ... 13 more
Caused by: java.lang.RuntimeException: 
org.apache.camel.FailedToCreateRouteException: Failed to create route route1 
at: >>> Bean[ref:mybean method:concat] <<< in route: 
Route(route1)[From[direct:he
llo] -> [Transform[constant{Hell... because of No bean could be found in the 
registry for: mybean
        at 
org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:65)
        at 
org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
        ... 15 more
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create 
route route1 at: >>> Bean[ref:mybean method:concat] <<< in route: 
Route(route1)[From[direct:hello] -> [Transform[constant{
Hell... because of No bean could be found in the registry for: mybean
        at 
org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:217)
        at 
org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:76)
        at 
org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
        at 
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:816)
        at 
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:685)
        at 
org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2396)
        at 
org.apache.camel.quarkus.core.FastCamelContext.doInit(FastCamelContext.java:171)
        at 
org.apache.camel.support.service.BaseService.init(BaseService.java:78)
        at 
org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2062)
        at 
org.apache.camel.support.service.BaseService.start(BaseService.java:105)
        at 
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2081)
        at 
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:313)
        at org.apache.camel.quarkus.main.CamelMain.doStart(CamelMain.java:94)
        at 
org.apache.camel.support.service.BaseService.start(BaseService.java:113)
        at 
org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:140)
        at 
org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
        ... 16 more
Caused by: org.apache.camel.NoSuchBeanException: No bean could be found in the 
registry for: mybean
        at 
org.apache.camel.component.bean.RegistryBean.doGetBean(RegistryBean.java:134)
        at 
org.apache.camel.component.bean.RegistryBean.getBean(RegistryBean.java:102)
        at 
org.apache.camel.component.bean.RegistryBean.createCacheHolder(RegistryBean.java:95)
        at 
org.apache.camel.component.bean.DefaultBeanProcessorFactory.createBeanProcessor(DefaultBeanProcessorFactory.java:80)
        at 
org.apache.camel.reifier.BeanReifier.createProcessor(BeanReifier.java:49)
        at 
org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:853)
        at 
org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:593)
        at 
org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:213)
        ... 31 more 

I thought I can use Spring  beans because Camel K 2.1 is based on Camel 4.0.0 
which allows the embedding of Spring Beans; see 
https://camel.apache.org/components/4.0.x/others/java-xml-io-dsl.html
Do I have to add some dependencies to make this work?

I also tried Camel XML bean:
<camel>
    <bean name="mybean" type="java.lang.String">
    </bean>
  <route>
    <from uri="direct:hello"/>
        <transform>
      <constant>Hello World</constant>
    </transform>
               <bean ref="mybean" method="concat" />
  </route>
</camel>

Again I got the same error. 

Regards

Franz


Reply via email to