Hi Willem,

if I understand it right there is always one conduit for each client or endpoint. So I would not try to reference a conduit config via the endpoint name like it is done now. The conduit can as well be described as a parameter of client or endpoint. I really do not like the way the old JMSConduit configured itself. Extracting the configuration should be outside of the object to be configured.

The way camel does this is ok. But instead of referencing a jms configuration in the address line I would simply set it as a parameter in client or endpoint. If you want to centralize certain parts of the config spring still has the ref="" to reference a central config bean. Additionally we can use abstract config beans so several jms configurations can share some common parts.

By simply being a property of the client or endpoint they can simply add it to the endpointInfo. So the TransportFactory can extract it and set the Conduit or Destination with it.

Greetings

Christian

Willem Jiang schrieb:
You could take a look at the configuration of camel transport for CXF. we
inject the camel context (which could be an extension of TransportConfig)
into the CamelTransportFactory or the {CamelConduit|CamelDestion}.

Endpoint can find the CamelTransportFactory by using the transport id or
transport perfix like 'camel:'.  Each Conduit or Destination configuration
has its own id, when the endpoint find the transport factory and create the
conduit or destination, current CXF configuration will call the 'configure'
method which will seach the spring context and configure the conduit or
destination according the bean id.

If you want to add the TransportConfig into the endpoint , we need to hack
the code of endpoint looking up the transport factory, and set the
TransportConfig into the transport factory or the {conduit|destination}.

Any thoughts?

--

Christian Schneider
---
http://www.liquid-reality.de

Reply via email to