Custom processor in the camel route #1231
Unanswered
bitsInnovate00
asked this question in
Q&A
Replies: 1 comment 4 replies
-
karavan is not a java ee app server and you cannot have XML files inside JARs for bean discovery and whatnot. You can refer to the class by FQN classname for example, or configure it as a bean
See for example karavan.space, where you can define beans |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Custom processor in the camel route
How can I refer a custom processor in the camel route. The catch is that custom processor resides in a separate dependency.
Here is the route configuration
- route: id: route-0817 nodePrefixId: route-58f from: id: from-544c uri: kamelet:timer-source parameters: message: Hello repeatCount: 200 steps: - process: id: process-89a9 ref: SimpleProcessor
In the application.properties , the dependency of the jar where SimpleProcessor resides is listed
camel.jbang.dependencies=camel-console,camel-platform-http-main,org.study:simple:1.0
SimpleProcessor is defined in the project org.study:simple:1.0 as follows
@Singleton @Named("SimpleProcessor") public class SimpleProcessor implements Processor{
and the beans.xml is added in the project org.study:simple:1.0 in the resouces/META-INF folder for beans discovery
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd" bean-discovery-mode="all"> </beans>
During the build phase, when jbang export (jbang -Dcamel.jbang.version=4.3.0 camel@apache/camel export) is happening im getting the below error
org.apache.camel.FailedToCreateRouteException: Failed to create route route-0817 at: >>> process[ref:SimpleProcessor] <<< in route: Route(route-0817)[From[kamelet:timer-source?message=Hello&re... because of No bean could be found in the registry for: SimpleProcessor of type: org.apache.camel.Processor 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:724) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:590) at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2364) at org.apache.camel.support.service.BaseService.init(BaseService.java:78) at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2000) at org.apache.camel.support.service.BaseService.start(BaseService.java:105) at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2019) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:208) at org.apache.camel.main.KameletMain.doStart(KameletMain.java:323) at org.apache.camel.support.service.BaseService.start(BaseService.java:113) 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.runSilent(Run.java:300) at org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.runSilently(ExportBaseCommand.java:289) at org.apache.camel.dsl.jbang.core.commands.ExportCamelMain.export(ExportCamelMain.java:66) at org.apache.camel.dsl.jbang.core.commands.Export.export(Export.java:127) at org.apache.camel.dsl.jbang.core.commands.Export.export(Export.java:86) at org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.doCall(ExportBaseCommand.java:225) at org.apache.camel.dsl.jbang.core.commands.Export.doCall(Export.java:28) 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: org.apache.camel.NoSuchBeanException: No bean could be found in the registry for: SimpleProcessor of type: org.apache.camel.Processor at org.apache.camel.reifier.AbstractReifier.mandatoryLookup(AbstractReifier.java:149) at org.apache.camel.reifier.ProcessReifier.createProcessor(ProcessReifier.java:41) at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:870) at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:610) at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:213) ... 33 more
Variant
Web Application
Container Management (if applicable)
Kubernetes
Operating System (if applicable)
Linux
Version
4.4.0
Beta Was this translation helpful? Give feedback.
All reactions