Hi Guillaume,

Thank you for your response, the problem that i've now is to register
in a database all the exchanges between components and one information i need is to capture
the sender of the message.

Looking at the code it seems not difficult to add this feature to the DroolsComponent ( The lightweight ). I tried to add this line to the method "forwardToExchange" of the class ComponentSupport

outExchange.setProperty(JbiConstants.SENDER_ENDPOINT, getService() + ":" + getEndpoint());

and it works.

Andrea Zoppello

Guillaume Nodet ha scritto:
I'm not sure what your problem is.
This property is only set by standard JBI components.
The lightweight drools does not set it, but the new
Drools standard JBI component [1] does.

[1] http://servicemix.goopen.org/site/servicemix-drools.html

On 11/17/06, Andrea Zoppello <[EMAIL PROTECTED]> wrote:
Hi all,

I've develop a simple service assembly composed as follow:

Soap (BC) -> EipXPathSplitter (SE) -> DroolsRouter(SE) --> Screen

Then i trid to trace all MessageExchange with a ExchangeListener, and
for each exchange i tried to retrieve the senderEndpoint
with the folowing instructions:

System.out.println("Sender:
"+exchange.getProperty("org.apache.servicemix.senderEndpoint"));
System.out.println("Service: " + exchange.getService());

I've noticed that in the  message exchange sent  by the DroolsComponent
the property "org.apache.servicemix.senderEndpoint" is NULL.
otherwise the messages sent by XPathSplitter does not have this problem.

It seems that EIPXPathSplitter use the metod "sendConsumerExchange" of
the class "AsyncBaseLifeCycle that set the property
with this code:

String key = EndpointSupport.getKey(endpoint);
exchange.setProperty(JbiConstants.SENDER_ENDPOINT, key);

Is this a BUG??? I'm using the 3.0 release.

Thanks

Andrea Zoppello







Reply via email to