[mule-user] How to Disable Default JMSReplyToHandler

0 views
Skip to first unread message

ChintzNabble

unread,
Aug 20, 2009, 1:10:43 AM8/20/09
to us...@mule.codehaus.org

Hi,

I am trying to get simple answer from last couple of days for the problem i
am facing. :-(

I am configuring loan broker example using JBoss MQ. I have done required MQ
configuration and application is deployed successfully. When I am sending
request through browser, it is able to process various steps. However while
sending response back to client, it is throwing an exception. It is sending
message to default queue QUEUE.JMS_TQ1 even though i have specified correct
one.

Please see below log printed on the console:
0:27:13,515 INFO [MuleClient] Using existing MuleContext:
org.mule.DefaultMuleContext@19f1bac
10:27:13,578 INFO [VMMessageDispatcher] Connected:
endpoint.outbound.vm://customer.requests
10:27:13,625 INFO [AsynchronousLoanBroker]
***** Request # 1 received: Client dsa with ssn = 1234 requests a loan of
amount = 1432423.0 for 22 months
10:27:13,671 INFO [JmsMessageDispatcher] Connected:
endpoint.outbound.jms://queue/esb.credit.agency
10:27:13,718 INFO [STDOUT] CreditAgencyGateway -> process
10:27:13,750 INFO [VMMessageDispatcher] Connected:
endpoint.outbound.vm://credit.agency.service?method=getCreditProfile
10:27:13,906 INFO [OpenEJB] invoking method create on /local/CreditAgency
10:27:13,921 INFO [OpenEJB] invoking method getCreditProfile on
/local/CreditAgency with identity null
10:27:13,937 INFO [Transaction] TX_BeanManaged: Suspended transaction null
10:27:13,937 INFO [Transaction] TX_BeanManaged: No transaction to resume
10:27:13,937 INFO [OpenEJB] invoking method remove on /local/CreditAgency
with identity null
10:27:13,937 INFO [STDOUT] Inside CreditProfileXmlToCreditProfile
10:27:14,046 INFO [JmsMessageDispatcher] Connected:
endpoint.outbound.jms://queue/esb.lender.service
10:27:14,093 INFO [VMMessageDispatcher] Connected:
endpoint.outbound.vm://lender.service
10:27:14,109 INFO [STDOUT] Inside DefaultLender
10:27:14,109 INFO [STDOUT] Inside Bank
10:27:14,109 INFO [STDOUT] Inside Bank
10:27:14,109 INFO [STDOUT] Inside Bank
10:27:14,109 INFO [STDOUT] Inside Bank
10:27:14,125 INFO [JmsMessageDispatcher] Connected:
endpoint.outbound.jms://queue/esb.banks
10:27:15,031 INFO [JmsReplyToHandler] Reply Message sent to: QUEUE.JMS_TQ1
with correlationID:ecf3210b-8d45-11de-b23c-431eebbeb63f
10:27:23,703 ERROR [DefaultServiceExceptionStrategy]
********************************************************************************
Message : Response timed out (10000ms) waiting for message
response id "ecf3210b-8d45-11de-b23c-431eebbeb63f" or this action was
interrupted. Failed to route event via endpoint: null. Message payload is of
type: LoanBrokerQuoteRequest
Type : org.mule.api.routing.ResponseTimeoutException
Code : MULE_ERROR-40999
JavaDoc :
http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/routing/ResponseTimeoutException.html
Payload :
org.mule.example.loanbroker.messages.LoanBrokerQuoteRequest@177357d
********************************************************************************
Exception stack is:
1. Response timed out (10000ms) waiting for message response id
"ecf3210b-8d45-11de-b23c-431eebbeb63f" or this action was interrupted.
Failed to route event via endpoint: null. Message payload is of type:
LoanBrokerQuoteRequest (org.mule.api.routing.ResponseTimeoutException)
org.mule.routing.EventCorrelator:500
(http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/routing/ResponseTimeoutException.html)
********************************************************************************
Root Exception stack trace:
org.mule.api.routing.ResponseTimeoutException: Response timed out (10000ms)
waiting for message response id "ecf3210b-8d45-11de-b23c-431eebbeb63f" or
this action was interrupted. Failed to route event via endpoint: null.
Message payload is of type: LoanBrokerQuoteRequest
at org.mule.routing.EventCorrelator.getResponse(EventCorrelator.java:500)
at org.mule.routing.EventCorrelator.getResponse(EventCorrelator.java:403)
at
org.mule.routing.response.AbstractResponseAggregator.getResponse(AbstractResponseAggregator.java:72)
at
org.mule.routing.response.DefaultResponseRouterCollection.getResponse(DefaultResponseRouterCollection.java:90)
at
org.mule.service.AbstractService.processAsyncReplyRouter(AbstractService.java:922)
at org.mule.model.seda.SedaService.doSend(SedaService.java:259)
at org.mule.service.AbstractService.sendEvent(AbstractService.java:500)
at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:354)
at
org.mule.routing.inbound.DefaultInboundRouterCollection.send(DefaultInboundRouterCollection.java:228)
at
org.mule.routing.inbound.DefaultInboundRouterCollection.route(DefaultInboundRouterCollection.java:188)
at
org.mule.transport.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:364)
at
org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:252)
at
org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:175)
at
org.mule.transport.vm.VMMessageReceiver.onCall(VMMessageReceiver.java:107)
at
org.mule.transport.vm.VMMessageDispatcher$2.doInTransaction(VMMessageDispatcher.java:125)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:99)
at
org.mule.transport.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:128)
at
org.mule.transport.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:163)
at org.mule.transport.AbstractConnector.send(AbstractConnector.java:2016)
at
org.mule.endpoint.DefaultOutboundEndpoint.send(DefaultOutboundEndpoint.java:76)
at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:327)
at org.mule.module.client.MuleClient.send(MuleClient.java:649)
at org.mule.module.client.MuleClient.send(MuleClient.java:626)
at org.mule.module.client.MuleClient.send(MuleClient.java:579)
at
org.apache.jsp.loanbroker_jsp._jspService(org.apache.jsp.loanbroker_jsp:93)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)

********************************************************************************

10:27:23,734 WARN [ExceptionHelper] Failed to load error mappings from:
META-INF/services/org/mule/config/vm-exception-mappings.properties This may
be because there are no error code mappings for protocol: vm


Also I see configuration, i have defined in mule-config.xml

<jms:connector name="jmsConnector"
connectionFactoryJndiName="ConnectionFactory"
jndiInitialFactory="org.jnp.interfaces.NamingContextFactory"
jndiProviderUrl="jnp://localhost:1099"
jndiDestinations="true"
forceJndiDestinations="true"
specification="1.1"/>

<jms:object-to-jmsmessage-transformer name="ObjectToJMSMessage" />
<jms:jmsmessage-to-object-transformer name="JMSMessageToObject"/>

<endpoint name="CustomerRequests" address="vm://customer.requests"/>
<endpoint name="CustomerResponses" address="LoanQuotes" />
<endpoint name="LoanQuotes" address="jms://queue/esb.loan.quotes"/>
<endpoint name="CreditAgencyGateway"
address="jms://queue/esb.credit.agency" connector-ref="jmsConnector"/>
<!-- This endpoint is used to pass events to the Credit Agency Ejb
Notice we set the 'method' param on the endpoint. This is because we need to
tell
Mule which meothod to invoke as Mule cannot introspect the EJB proxy -->
<endpoint name="CreditAgency"
address="vm://credit.agency.service?method=getCreditProfile"/>
<endpoint name="LenderGateway" address="jms://queue/esb.lender.service"
connector-ref="jmsConnector"/>
<endpoint name="LenderService" address="vm://lender.service"/>
<endpoint name="BankingGateway" address="jms://queue/esb.banks"
connector-ref="jmsConnector"/>
<endpoint name="Bank1"
address="axis:http://localhost:10081/mule/TheBank1?method=getLoanQuote"
synchronous="true"/>
<endpoint name="Bank2"
address="axis:http://localhost:20080/mule/TheBank2?method=getLoanQuote"
synchronous="true"/>
<endpoint name="Bank3"
address="axis:http://localhost:30080/mule/TheBank3?method=getLoanQuote"
synchronous="true"/>
<endpoint name="Bank4"
address="axis:http://localhost:40080/mule/TheBank4?method=getLoanQuote"
synchronous="true"/>
<endpoint name="Bank5"
address="axis:http://localhost:50080/mule/TheBank5?method=getLoanQuote"
synchronous="true"/>
<endpoint name="Bank1In" address="axis:http://localhost:10080/mule"/>
<endpoint name="Bank2In" address="axis:http://localhost:20080/mule"/>
<endpoint name="Bank3In" address="axis:http://localhost:30080/mule"/>
<endpoint name="Bank4In" address="axis:http://localhost:40080/mule"/>
<endpoint name="Bank5In" address="axis:http://localhost:50080/mule"/>

<!-- This is start of a request -->
<service name="LoanBroker">
<description>
The LoanBroker service is our 'entry' service that accepts
requests from the outside world
</description>
<inbound>
<!-- <inbound-endpoint ref="CustomerRequestsREST"
transformer-refs="RestRequestToCustomerRequest"/> -->
<inbound-endpoint ref="CustomerRequests"/>
</inbound>

<component
class="org.mule.example.loanbroker.AsynchronousLoanBroker"/>

<outbound>
<pass-through-router>
<outbound-endpoint ref="CreditAgencyGateway"/>
</pass-through-router>
</outbound>

<async-reply timeout="10000">
<inbound-endpoint ref="LoanQuotes"
transformer-refs="JMSMessageToObject"/>
<custom-async-reply-router
class="org.mule.example.loanbroker.routers.BankQuotesResponseAggregator" />
</async-reply>
</service>

<!-- few entries of EJB as defined in loan broker example -->

<!-- sending request to various Bank services and get the response -->

<service name="BankingGatewayService">
<description>
This gateway is responsible for sending the Loan Reqest
information to each of the Lenders.
</description>
<inbound>
<inbound-endpoint ref="BankingGateway" />
</inbound>
<outbound>
<static-recipient-list-router>
<reply-to address="LoanQuotes" />
</static-recipient-list-router>
<forwarding-catch-all-strategy>
<jms:outbound-endpoint queue="queue/esb.loan.quotes"/>
</forwarding-catch-all-strategy>

</outbound>

</service>

Please suggest me if anything is missing, i am not able to figure out
properly.

Let me know if you require more information.

thanks
Chintan


--
View this message in context: http://www.nabble.com/How-to-Disable-Default-JMSReplyToHandler-tp25056088p25056088.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


Antoine Borg

unread,
Aug 20, 2009, 7:03:51 AM8/20/09
to us...@mule.codehaus.org
Hi,

Your reply-to is:

<reply-to address="LoanQuotes" />

LoanQuotes is, however, an endpoint name not an address. Not sure if
this will be resolved properly.

A

Antoine Borg, Director of Technical Services | Tel: +32 28 504 696
ricston Ltd., BP 2, 1180 Uccle, Brussels, BELGIUM

See our full schedule of Mule and Android courses:
http://www.ricston.com/courses/schedules/

email: _antoin...@ricston.com <mailto:antoin...@ricston.com> |
blog: blog.ricston.com <http://blog.ricston.com> | web: ricston.com
<http://www.ricston.com/>

ChintzNabble

unread,
Aug 20, 2009, 9:52:55 AM8/20/09
to us...@mule.codehaus.org

Hi Antoine,

that doesn't resolve my problem, i have tried giving queue name
(jms://queue/esb.loan.quote) in address. Also tried by giving
ref="CustomerResponse" but still it is giving same error.

What could be the reason?

REgards
Chintan

--
View this message in context: http://www.nabble.com/How-to-Disable-Default-JMSReplyToHandler-tp25056088p25062532.html


Sent from the Mule - User mailing list archive at Nabble.com.

Richard Swart

unread,
Aug 20, 2009, 4:39:19 PM8/20/09
to us...@mule.codehaus.org
Can you increase loglevel to debug and send the log?

ChintzNabble

unread,
Aug 23, 2009, 11:46:04 PM8/23/09
to us...@mule.codehaus.org

Hi gabriele,

not able to see detail level log even though loglevel changed to DEBUG,
don't know why changes are not reflected?


# default properties to initialise log4j
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{MM-dd HH:mm:ss}] %-5p %c{1}
[%t]: %m%n

# settings for specific packages
log4j.logger.org.mule=DEBUG

let me know if specific things you wanted to check?

Thanks
Chintan

--
View this message in context: http://www.nabble.com/How-to-Disable-Default-JMSReplyToHandler-tp25056088p25110145.html


Sent from the Mule - User mailing list archive at Nabble.com.

Richard Swart

unread,
Aug 25, 2009, 9:45:02 AM8/25/09
to us...@mule.codehaus.org
Are you sure log4j.properties is on the class path and no other one is there as well?

Setting log4j.logger.org.mule=DEBUG should lead to a significant amount of logging. Try this with one of the examples (e.g. hello example).

ChintzNabble

unread,
Sep 2, 2009, 12:49:48 AM9/2/09
to us...@mule.codehaus.org

log4j.properties is in classpath (WEB-INF/classes) also there is loggin.conf
file. I also tried removing it but no luck.

Below entries were made in log4j.properties:


# default properties to initialise log4j
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%-5p %c{1} [%t]: %m%n

# settings for specific packages
log4j.logger.org.mule=DEBUG

Also how can i check other logging is in clasapth or not in JBoss?

Please help me to resolve my main issue, that is posted in main thread...

Thanks
Chintan

--
View this message in context: http://www.nabble.com/How-to-Disable-Default-JMSReplyToHandler-tp25056088p25251625.html


Sent from the Mule - User mailing list archive at Nabble.com.

Reply all
Reply to author
Forward
0 new messages