public void configure()

in jta-jpa/src/main/java/org/acme/CamelRoutes.java [31:63]


    public void configure() {
        rest("/messages")
                .produces("text/plain")
                .get()
                .to("direct:messages")
                .post("/{message}")
                .param().name("message").type(RestParamType.path).dataType("string").endParam()
                .to("direct:trans");

        from("direct:messages")
                .to("jpa:org.acme.AuditLog?namedQuery=getAuditLog")
                .convertBodyTo(String.class);

        from("direct:trans")
                .transacted()
                .setBody(simple("${headers.message}"))
                .process(x -> {
                    DummyXAResource xaResource = new DummyXAResource("crash".equals(x.getIn().getBody(String.class)));
                    transactionManager.getTransaction().enlistResource(xaResource);
                })
                .to("bean:auditLog?method=createAuditLog(${body})")
                .to("jpa:org.acme.AuditLog")
                .setBody(simple("${headers.message}"))
                .choice()
                .when(body().startsWith("fail"))
                .log("Forced exception")
                .process(x -> {
                    throw new RuntimeException("fail");
                })
                .otherwise()
                .log("Message added: ${body}")
                .endChoice();
    }