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