Connection drop cannot recover JMSSession
-----------------------------------------
Key: JBMESSAGING-1435
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1435
Project: JBoss Messaging
Issue Type: Feature Request
Environment: jbossesb-server-4.4.GA
Windows XP
Reporter: Chris Au
Assignee: Tim Fox
I used JMSRouter to route message to a SonicMQ, it works fine. But I just tried to figure
out the exception handling method and tried to manually drop the connection from ESB
Client to SonicMQ. But after I dropped the connection, exception raised as follows :
javax.jms.IllegalStateException: The session is closed.
at progress.message.jimpl.Session.getJMSObjectClosedException(Unknown Source)
at progress.message.jimpl.Session.createTextMessage(Unknown Source)
at
org.jboss.internal.soa.esb.rosetta.pooling.JmsSession.createTextMessage(JmsSession.java:210)
at
org.jboss.soa.esb.actions.routing.JMSRouter.createJMSMessageWithObjectType(JMSRouter.java:262)
at org.jboss.soa.esb.actions.routing.JMSRouter.route(JMSRouter.java:232)
at org.jboss.soa.esb.actions.routing.JMSRouter.process(JMSRouter.java:211)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:316)
at
org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:530)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Is it an expected behavior that it will not do auto-retry? As I could not find any
"isSessionClosed()" kind method to check if the session is closed.
On the other hand, I also listens to SonicMQ, the connection will automatically recover
once I manually drop the connection session. Could the similar be implemented in JmsSender
?
Another issue is......is it possible to provide any clue for the cause of the exception :
ERROR [org.jboss.jms.client.container.ClosedInterceptor]
ClosedInterceptor.ClientSessionDelegate[ya-ie6ih2nf-1-9wwug2nf-klr89h-m4u4js4]: method
getAcknowledgeMode() did not go through, the interceptor is CLOSED ?
Thanks a lot.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira