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

Reply via email to