Guillaume,
Thank you for this answer.
How can I verify what is happening after drools receives the message ?
I have added some breakpoints in sm-jms coponent in MultiplexingConsumer
and MultiplexingProvider both in onMessage and process methods but they
are never called... That is why I was thinking the message was not
delivered to sm-jms component...
During the SU deployment, I get the following message, is it an error
(no description found) ?
2006-04-03 10:37:14,336 : ComponentContextImpl.activateEndpoint :
Component: servicemix-jms activated endpoint:
{urn:servicemix:jonas:example1}example1JmsProvider : example1JmsProvider
2006-04-03 10:37:14,337 : BaseComponent.getServiceDescription : Querying
service description for
ServiceEndpoint[service={urn:servicemix:jonas:example1}example1JmsProvider,endpoint=example1JmsProvider]
2006-04-03 10:37:14,340 : BaseComponent.getServiceDescription : No
description found for
{urn:servicemix:jonas:example1}example1JmsProvider:example1JmsProvider
2006-04-03 10:37:14,341 :
EndpointRegistry.retrieveInterfacesFromDescription : Endpoint
ServiceEndpoint[service={urn:servicemix:jonas:example1}example1JmsProvider,endpoint=example1JmsProvider]
has no service description
2006-04-03 10:37:15,429 : BaseServiceUnitManager.start : Service unit
started
Do you think the su description files I sent you in the previous mail
are correct ?
Thanks
Charles
Guillaume Nodet wrote:
It seems fine to me. The drools component replies with a DONE status
that is accepted by the http component.
I think the accept traces for the drools component are not shown
because it implements the MessageExchangeListener interface that
bypasses them.
Cheers,
Guillaume Nodet
On 3/31/06, Charles Souillard <[EMAIL PROTECTED]> wrote:
Hi all,
I am trying to create my own example :
client ---- HTTP ---> sm-http ------> drools (sm-lwcontainer)
-------> sm-jms ------> client waiting on a queue
Nothing is happening as if one of the routing was not done...
I have activated the traces : is it normal that the last exchange we can
see is 'accept" instead of 'sent' ?
I have added traces into drools component and none of them is printed...
I think drools component never get the message but as I am not sure to
well interpret traces..
Can you tell me what is happening in SM thanks to traces ?
Is one of my SU wrong ?
Thanks,
Charles
Traces I get :
DEBUG - JCLLoggerAdapter.debug(121) | REQUEST
/serviceMisOnJOnASExample1/ on [EMAIL PROTECTED]
DEBUG - JCLLoggerAdapter.debug(121) | servlet=jbiServlet
DEBUG - JCLLoggerAdapter.debug(121) | chain=null
DEBUG - JCLLoggerAdapter.debug(121) | servelet holder=jbiServlet
DEBUG - DeliveryChannelImpl.traceMessageExchange(342) | Sent:
MessageExchange[
id: ID:frec445363-47743-1143815513807-2:0
status: Active
role: consumer
service: {urn:servicemix:jonas:example1}droolsRouter
in: <?xml version="1.0" encoding="UTF-8"?><in>example1</in>
]
DEBUG - JCLLoggerAdapter.debug(121) | continuation
[EMAIL PROTECTED]
DEBUG - DeliveryChannelImpl.traceMessageExchange(342) | Sent:
MessageExchange[
id: ID:frec445363-47743-1143815513807-2:0
status: Done
role: provider
service: {urn:servicemix:jonas:example1}droolsRouter
endpoint: droolsRouter
in: <?xml version="1.0" encoding="UTF-8"?><in>example1</in>
]
DEBUG - DeliveryChannelImpl.accept(369) | Accepting
ID:frec445363-47743-1143815513807-2:0 in DeliveryChannel{servicemix-http}
DEBUG - DeliveryChannelImpl.traceMessageExchange(342) | Accepted:
MessageExchange[
id: ID:frec445363-47743-1143815513807-2:0
status: Done
role: consumer
service: {urn:servicemix:jonas:example1}droolsRouter
endpoint: droolsRouter
in: <?xml version="1.0" encoding="UTF-8"?><in>example1</in>
]
Here are my SUs :
*sm-http su*
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:example1="urn:servicemix:jonas:example1">
<!-- soap="true" -->
<http:endpoint service="example1:droolsRouter"
endpoint="example1DroolsRouter"
role="consumer"
locationURI="http://localhost:8192/serviceMisOnJOnASExample1/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
/>
</beans>
*drools-su
*
<beans xmlns="http://xbean.org/schemas/spring/1.0"
xmlns:spring="http://xbean.org/schemas/spring/1.0"
xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:example1="urn:servicemix:jonas:example1">
<sm:serviceunit id="jbi">
<sm:activationSpecs>
<!-- endpoint="example1DroolsRouter" -->
<sm:activationSpec componentName="droolsRouter"
service="example1:droolsRouter">
<sm:component>
<bean
class="org.apache.servicemix.components.drools.DroolsComponent">
<property name="ruleBaseResource"
value="file:///home/souillac/workspace/ServiceMixOnJOnAS/example1/drools-engine-su/rulebase.xml"
/>
</bean>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:serviceunit>
</beans>
*jms-su
*
<beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
xmlns:example1="urn:servicemix:jonas:example1">
<!-- QCF connectionFactory soap="true" -->
<jms:endpoint service="example1:example1JmsProvider"
endpoint="example1JmsProvider"
role="provider"
destinationStyle="queue"
jmsProviderDestinationName="ServiceMixOnJOnASExample1Queue"
jndiConnectionFactoryName="JQCF" />
</beans>