Just for sharing, here the code working:
@Test
public void publishHttpCamelContextWithDefinitionTest() throws
Exception {
CamelContext camelContext = new DefaultCamelContext();
Assertions.assertNotNull(camelContext);
DefaultCamelContext.class.cast(camelContext).setName("camel-labs");
camelContext.start();
Assertions.assertTrue(camelContext.getStatus().isStarted());
System.out.println("camel context started");
final RouteDefinition definition = new RouteDefinition();
definition.from("jetty:http://localhost:9090/labs").id("jetty-example").
setHeader(Exchange.HTTP_RESPONSE_CODE,constant(200)).
setBody(constant("it works well!"));
DefaultCamelContext.class.cast(camelContext).addRouteDefinition(definition);
System.out.println("camel routes with definition jetty added ->
http://localhost:9090/labs");
Thread.sleep(10000L);
}
regards,
François
[email protected]
Le 20/05/2019 à 08:47, Francois Papon a écrit :
> Hi Claus,
>
> It works very well now :)
>
> Thanks for your help!
>
> regards,
>
> François
> [email protected]
>
> Le 20/05/2019 à 08:10, Claus Ibsen a écrit :
>> Hi
>>
>> You should add the definition via camel context api and not try to add
>> it via the route builder.
>>
>>
>> On Mon, May 20, 2019 at 5:47 AM Francois Papon
>> <[email protected]> wrote:
>>> Hi,
>>>
>>> I'm trying to use a RouteDefintion to configure a RouteBuilder and it
>>> doesn't work.
>>>
>>> It works by setting the route in the first test but the endpoint is not
>>> publish in the second test...
>>>
>>> Any ideas?
>>>
>>>
>>> @Test
>>> public void publishHttpCamelContextTest() throws Exception {
>>> CamelContext camelContext = new DefaultCamelContext();
>>> Assertions.assertNotNull(camelContext);
>>>
>>> DefaultCamelContext.class.cast(camelContext).setName("camel-labs");
>>> camelContext.start();
>>> Assertions.assertTrue(camelContext.getStatus().isStarted());
>>> System.out.println("camel context started");
>>>
>>> RouteBuilder routeBuilder = new RouteBuilder() {
>>> @Override
>>> public void configure() throws Exception {
>>>
>>> from("jetty:http://localhost:9090/labs").
>>> id("jetty-example").
>>>
>>> setHeader(Exchange.HTTP_RESPONSE_CODE,constant(200)).
>>> setBody(constant("it works well!"));
>>> }
>>> };
>>> camelContext.addRoutes(routeBuilder);
>>> System.out.println("camel routes jetty added ->
>>> http://localhost:9090/labs");
>>> Thread.sleep(10000L);
>>> }
>>>
>>> @Test
>>> public void publishHttpCamelContextWithDefinitionTest() throws
>>> Exception {
>>> CamelContext camelContext = new DefaultCamelContext();
>>> Assertions.assertNotNull(camelContext);
>>>
>>> DefaultCamelContext.class.cast(camelContext).setName("camel-labs");
>>> camelContext.start();
>>> Assertions.assertTrue(camelContext.getStatus().isStarted());
>>> System.out.println("camel context started");
>>>
>>> final RouteDefinition definition = new RouteDefinition();
>>>
>>> definition.from("jetty:http://localhost:9090/labs").id("jetty-example").
>>> setHeader(Exchange.HTTP_RESPONSE_CODE,constant(200)).
>>> setBody(constant("it works well!"));
>>>
>>> RouteBuilder routeBuilder = new RouteBuilder() {
>>> @Override
>>> public void configure() throws Exception {
>>> System.out.println(definition);
>>> configureRoute(definition);
>>> }
>>> };
>>> camelContext.addRoutes(routeBuilder);
>>> System.out.println("camel routes with definition jetty added ->
>>> http://localhost:9090/labs");
>>> Thread.sleep(10000L);
>>> }
>>>
>>> regards,
>>>
>>> --
>>> François
>>> [email protected]
>>>