rapetum228 opened a new issue, #1063:
URL: https://github.com/apache/camel-karavan/issues/1063

   I want to use integration using Camel Karavan. The essence of integration is 
to receive messages from REST service and transfer them to RabbitMq. To create 
a connection to RabbitMq I made Bean.
   
   Here is my yaml file:
   
   ```yaml
   - rest:
       id: rest-6f81
       post:
         - id: post-78d2
           path: /test
           to: direct:internal
           consumes: application/json
   - beans:
       - constructors: {}
         name: RabbitMQConnectionFactory
         properties:
           host: 'localhost'
           port: '5672'
           username: Test
           password: Test
         type: 
org.springframework.amqp.rabbit.connection.CachingConnectionFactory
   - route:
       id: route-d7a0
       nodePrefixId: route-425
       from:
         id: from-b82a
         uri: direct
         parameters:
           name: internal
         steps:
           - log:
               id: log-90a7
               message: ${body}
           - to:
               id: to-bcd8
               uri: spring-rabbitmq
               parameters:
                 exchangeName: test
                 testConnectionOnStartup: true
                 connectionFactory: '#bean:RabbitMQConnectionFactory'
   ```
   
   At startup.
   
   jbang "-Dcamel.jbang.version=4.3.0" camel@apache/camel run * 
   
   I get the following error logs:
   
   ```log
   2024-01-10 22:44:26.558  INFO 29564 --- [           main] 
org.apache.camel.main.MainSupport   : Apache Camel (JBang) 4.3.0 is starting
   2024-01-10 22:44:26.590  INFO 29564 --- [           main] 
org.apache.camel.main.MainSupport   : Additional files added to classpath: 
event-gateway.json                                                              
                                                                           in 
general
   2024-01-10 22:44:26.695  INFO 29564 --- [           main] 
org.apache.camel.main.MainSupport   : Using Java 17.0.9 with PID 29564. Started 
by User in C:\Users\user\Desktop\Karavan1
   org.apache.camel.RuntimeCamelException: Error pre-parsing resource: 
file:testts.camel.yaml
           at 
org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.preParseRoute(YamlRoutesBuilderLoader.java:913)
           at 
org.apache.camel.main.RoutesConfigurer.doConfigureModeline(RoutesConfigurer.java:374)
           at 
org.apache.camel.main.RoutesConfigurer.configureModeline(RoutesConfigurer.java:300)
           at 
org.apache.camel.main.BaseMainSupport.modelineRoutes(BaseMainSupport.java:594)
           at 
org.apache.camel.main.BaseMainSupport.autoconfigure(BaseMainSupport.java:447)
           at 
org.apache.camel.main.MainSupport.autoconfigure(MainSupport.java:73)
           at 
org.apache.camel.main.KameletMain.autoconfigure(KameletMain.java:626)
           at 
org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:672)
           at 
org.apache.camel.main.MainSupport.initCamelContext(MainSupport.java:339)
           at org.apache.camel.main.KameletMain.doInit(KameletMain.java:314)
           at 
org.apache.camel.support.service.BaseService.init(BaseService.java:78)
           at 
org.apache.camel.support.service.BaseService.start(BaseService.java:105)
           at 
org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1059)
           at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:781)
           at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:290)
           at 
org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
           at 
org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:36)
           at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
           at picocli.CommandLine.access$1500(CommandLine.java:148)
           at 
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
           at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
           at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
           at 
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
           at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
           at picocli.CommandLine.execute(CommandLine.java:2170)
           at 
org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:172)
           at main.CamelJBang.main(CamelJBang.java:36)
   Caused by: java.lang.RuntimeException: Error creating bean: 
RabbitMQConnectionFactory of type: 
#class:org.springframework.amqp.rabbit.connection.CachingConnectionFactory
           at 
org.apache.camel.dsl.yaml.deserializers.BeansDeserializer.registerBean(BeansDeserializer.java:212)
           at 
org.apache.camel.dsl.yaml.deserializers.BeansDeserializer$BeansCustomizer.configure(BeansDeserializer.java:235)
           at 
org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.preParseNode(YamlRoutesBuilderLoader.java:933)
           at 
org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.lambda$preParseRoute$5(YamlRoutesBuilderLoader.java:911)
           at java.base/java.util.Optional.map(Optional.java:260)
           at 
org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.preParseRoute(YamlRoutesBuilderLoader.java:911)
           ... 26 more
   Caused by: java.lang.ClassNotFoundException: 
org.springframework.amqp.rabbit.connection.CachingConnectionFactory
           at 
org.apache.camel.impl.engine.DefaultClassResolver.resolveMandatoryClass(DefaultClassResolver.java:113)
           at 
org.apache.camel.support.PropertyBindingSupport.resolveBean(PropertyBindingSupport.java:1566)
           at 
org.apache.camel.dsl.yaml.deserializers.BeansDeserializer.newInstance(BeansDeserializer.java:185)
           at 
org.apache.camel.dsl.yaml.deserializers.BeansDeserializer.registerBean(BeansDeserializer.java:204)
           ... 31 more
   ```
   
   I think the key problem is this:
   java.lang.ClassNotFoundException: 
org.springframework.amqp.rabbit.connection.ConnectionFactory
   But org.springframework.amqp.rabbit.connection.ConnectionFactory is existed 
in Spring RabbitMQ.
   
   Can anyone tell me how to fix this? I'm new to Camel and really don't 
understand what might be missing. Maybe I'm missing something small.
   
   I use camel-karavan as VS Code extension. Same error when running through 
docker.
   
   UPD. Added file application.properties
   
   ```properties
   camel.karavan.project-id=test
   camel.karavan.project-name=test
   camel.karavan.project-description=bnjbnln
   camel.jbang.gav=org.camel.karavan.demo:test:1
   camel.jbang.runtime=camel-main
   camel.jbang.version=4.3.0
   camel.jbang.dependencies=camel-console,camel-platform-http-main
   camel.jbang.jib-maven-plugin-version=3.4.0
   camel.server.enabled=true
   camel.server.healthCheckEnabled=true
   camel.server.devConsoleEnabled=true
   camel.main.tracingStandby=true
   camel.main.autoConfigurationFailFast=false
   camel.context.dev-console=true
   camel.health.enabled=true
   camel.health.exposure-level=full
   jkube.version=1.15.0
   
jib.from.image=gcr.io/distroless/java17@sha256:3a4ea21bd7b412b8b6ae61313b39337d8f03bb6844013810e8e4625d8c765edb
   spring.rabbitmq.password=Test
   spring.rabbitmq.port=5672
   spring.rabbitmq.host=localhost
   spring.rabbitmq.username=Test
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to