On Mon, Aug 26, 2024 at 9:24 AM Zheng Feng <zf...@redhat.com> wrote:
> On Mon, Aug 26, 2024 at 3:09 PM Claus Ibsen <claus.ib...@gmail.com> wrote: > > > On Mon, Aug 26, 2024 at 8:56 AM Zheng Feng <zf...@redhat.com> wrote: > > > > > Thanks Claus- Hmm, but it should work with quarkus runtime, right? > > > > > > I just removed "transacted()" in foo.java and export it to a quarkus > > > project by using > > > "camel export foo.java --runtime=quarkus --gav=org.acme:example:0.0.1 > > > --deps=camel-jta" > > > > > > After that, I added "transacted()" back in the foo.java and it works > fine > > > with "./mvnw quarkus:dev". So is it possible to detect transacted() dsl > > and > > > add camel-jta automatically? and run it with quarkus runtime? > > > > > > > > No it should not magic run in another runtime: camel run is pure Camel > > only. > > > I'm a little bit confuse, But there is a "--runtime" option for the camel > run command? > > If you do NOT specify runtime then its pure Camel. But of course if you explicit say runtime=quarkus, then it runs inside Quarkus. > > > > Yes transacted DSL can be detected and camel-jta automatic added as > > dependency. > > You are welcome to create a JIRA about this and implement this. See how > the > > circuit breakers is detected. > > > > OK, https://issues.apache.org/jira/browse/CAMEL-21117 is created and > assigned to me. > > > > > > > > > > > > > > On Mon, Aug 26, 2024 at 2:41 PM Claus Ibsen <claus.ib...@gmail.com> > > wrote: > > > > > > > Hi > > > > > > > > You need to setup all that JTA transaction stuff. > > > > jbang is not support doing this out of the box. > > > > > > > > > > > > On Mon, Aug 26, 2024 at 8:01 AM Zheng Feng <zf...@redhat.com> wrote: > > > > > > > > > Hi, > > > > > > > > > > I add "transacted()" in the foo.java like > > > > > > > > > > public class foo extends RouteBuilder { > > > > > > > > > > @Override > > > > > public void configure() throws Exception { > > > > > from("timer:java?period=1000") > > > > > .transacted() > > > > > .setBody() > > > > > .simple("Hello Camel from ${routeId}") > > > > > .log("${body}"); > > > > > } > > > > > } > > > > > > > > > > But it is failed with running by "camel run foo.java" > > > > > > > > > > org.apache.camel.FailedToCreateRouteException: Failed to create > route > > > > > route1 at: >>> Transacted <<< in route: > > > > > Route(route1)[From[timer:java?period=1000] -> [Transacted]] because > > of > > > > > policy must be specified on: > > > > > org.apache.camel.reifier.TransactedReifier@6b2dd3df > > > > > at > > > > > > > > > > > > > > > org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:235) > > > > > at > > > > > org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:86) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:720) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:587) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2390) > > > > > at > > > org.apache.camel.support.service.BaseService.init(BaseService.java:78) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2024) > > > > > at > > > > > > org.apache.camel.support.service.BaseService.start(BaseService.java:105) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2043) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211) > > > > > at org.apache.camel.main.KameletMain.doStart(KameletMain.java:364) > > > > > at > > > > > > org.apache.camel.support.service.BaseService.start(BaseService.java:113) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1336) > > > > > at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:873) > > > > > at > org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:320) > > > > > 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:37) > > > > > at picocli.CommandLine.executeUserObject(CommandLine.java:2045) > > > > > at picocli.CommandLine.access$1500(CommandLine.java:148) > > > > > at > > > > > > > > > > > > > > > > > > > > picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465) > > > > > at picocli.CommandLine$RunLast.handle(CommandLine.java:2457) > > > > > at picocli.CommandLine$RunLast.handle(CommandLine.java:2419) > > > > > at > > > > > > > > > > > > > > > > > > > > picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277) > > > > > at picocli.CommandLine$RunLast.execute(CommandLine.java:2421) > > > > > at picocli.CommandLine.execute(CommandLine.java:2174) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:168) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:61) > > > > > at main.CamelJBang.main(CamelJBang.java:36) > > > > > Caused by: java.lang.IllegalArgumentException: policy must be > > specified > > > > on: > > > > > org.apache.camel.reifier.TransactedReifier@6b2dd3df > > > > > at > org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:188) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.reifier.TransactedReifier.createProcessor(TransactedReifier.java:41) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:886) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:622) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:231) > > > > > ... 28 more > > > > > > > > > > I used the Camel JBang 4.7.0 and also try to run with > > > "--deps=camel-jta" > > > > > and "--runtime=quarkus", but none of them worked. Is there > anything > > I > > > > > missed? > > > > > > > > > > > > > > > > > -- > > > > Claus Ibsen > > > > ----------------- > > > > @davsclaus > > > > Camel in Action 2: https://www.manning.com/ibsen2 > > > > > > > > > > > > > -- > > Claus Ibsen > > ----------------- > > @davsclaus > > Camel in Action 2: https://www.manning.com/ibsen2 > > > -- Claus Ibsen ----------------- @davsclaus Camel in Action 2: https://www.manning.com/ibsen2