Hello.

Using Camel blueprint dsl, I was able to get hold of an endpoint, e.g. an AMQP 
endpoint:

<bean factory-method="configure" factory-ref="amqpConfigurator" 
id="MessageFlow_4_configurator">
    <argument ref="MessageFlow_4"/>
</bean>

<camel:camelContext id="amqp">
        ...
        <camel:endpoint id="MessageFlow_4" 
uri="amqp:queue:myqueue?connectionFactory=#qpidConnectionFactory_MessageFlow_4&..."/>
        <camel:route id="Process_1">
            <camel:from uri="ref:MessageFlow_4"/>
            <camel:bean ref="MessageFlow_4_configurator"/>

By doing so, I could hand over that endpoint to a "endpoint configurator bean" 
to manipulate that endpoint. In my particular case, I want to extend or replace 
the AMQPBinding, which is set onto the endpoint.

With https://camel.apache.org/components/4.8.x/others/java-xml-io-dsl.html I do 
not see to have the same option to define or obtain the endpoint. Also, I 
cannot find another extension mechanism for the binding in particular. For 
endpoint configuration options (like the AMQPConfiguration) there is a 
mechanism via the "configuration" parameter on the endpoint, but nothing 
similar for the binding. I assume the same problem is true for JMS, MAIL 
adapters and probably more.

The only way I can currently think of is to create my own Camel component 
wrapping and extending the AMQP component. I would appreciate your feedback on 
this and hope to get some more ideas.

Best regards
Jens Kordowski

Reply via email to