You can not use the standard xml config to do such a thing.

<component id="drools" class="com.foo.bar.MyDroolsService">
</component>

and have your own class

public class MyDroolsService extends DroolsService {
   protected void init() {
getContext().activateEndpoint(new QName("com.foo.bar", "drools"), "ruleListener"); getContext().activateEndpoint(new QName("com.foo.bar", "drools"), "eventListener");
   }
public void onMessageExchange(MessageExchange exchange) throws MessagingException { if (exchange.getEndpoint().getEndpointName().equals("ruleListener")) {
         super.onMessageExchange(exchange);
       } else {
         // update ruleset here
      }
   }
}

Cheers,
Guillaume Nodet

Anshuman Das wrote:

Hi

Thanks for the quick reply. Could you also suggest how to activate 2 endpoints

can we write this

        <component id="drools" service="my:drools"
endpoint="my:ruleListener" endpoint="my:eventListener"
class="servicemix.components.DroolsService">
        </component>

Thanks

Anshuman

-----Original Message-----
From: Guillaume Nodet [mailto:[EMAIL PROTECTED]
Sent: Friday, October 21, 2005 5:49 PM
To: [email protected]
Subject: Re: [servicemix-user] more than one input endpoints for a
component


You can activate several endpoints for one component, so in your case, you should activate two endpoints and check when receiving a MessageExchange, which endpoint was the intended receiver.

Cheers,
Guillaume Nodet

Anshuman Das wrote:

Hi

I am a newbie to ServiceMix.
I would like to know whether it is possible to have more than one input
enpoints for a component.
Actually I want to listen to two Queues. One adds some info into the
components memory and the other receives requests that uses that stored
info
for processing.
The precise requirement is with a modified version of the Drools component,
in which one input listener is used to add new rules into the working
memory, while the other receives messages and applies all available rules
on
this message.

Thanks in advance.

Anshuman Das







Reply via email to