Using JMS in a session bean 2004-10-15 - By Tareq
Back That is true if the method is within the context of a transaction. Have you tried to execute the method without a transaction? Regardless, this is generally not recommended as you will block resources. Assuming that the no transaction approach works, the SLSB will be blocked from serving other clients and the container may react in some unknown way. Transaction/Session timeouts may also occur as you can really wait for a finite amount of time before any problems. The objective should be to fire & forget. A single request / response type implementation is generally not a JMS candidate.
Just some thoughts.
Tareq
-- --Original Message-- -- From: A mailing list for Java(tm) 2 Platform, Enterprise Edition [mailto:J2EE-INTEREST@(protected)] On Behalf Of Tong Wang Sent: Friday, October 15, 2004 8:15 AM To: J2EE-INTEREST@(protected) Subject: Re: Using JMS in a session bean
I believe it is because of transaction. Before the method finishes and transaction committed, the message you send is not in the queue ready to be received, thus response will never come back until you commit the transaction.
Tong
John Lohr <johnlohr12@(protected)> Sent by: "A mailing list for Java(tm) 2 Platform, Enterprise Edition" <J2EE-INTEREST@(protected)> 10/14/2004 11:35 PM Please respond to "A mailing list for Java(tm) 2 Platform, Enterprise Edition"
To: J2EE-INTEREST@(protected) cc: Subject: Using JMS in a session bean
Hello,
Please would you know if I can send a message and then receive a response message in one method from stateless session bean. Seems to me that the messages that the bean is sending are placed on the queue when the execution of the bean method is finished thus it can never receive the response. If it is so how can that be resolved. Any pattern .. ? The code below works fine in a servlet but in a session bean it always timeouts. I am using Embeded messaging in WebSphere and there is a plain Java receiver of messages from the bean and it is sending responses back.
Thank you, John
sessionBeanMethod() { .... .... connection = factory.createQueueConnection(); QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSender sender = session.createSender(requestQueue); QueueReceiver receiver = session.createReceiver(responseQueue, selector); connection.start(); TextMessage requestMessage = session.createTextMessage("message"); requestMessage.setJMSCorrelationID(messageID); sender.send(requestMessage); Message responseMessage = receiver.receive(5000); .... }
__ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ __ On the road to retirement? Check out MSN Life Events for advice on how to get there! http://lifeevents.msn.com/category.aspx?cid=Retirement
======================================================================== === To unsubscribe, send email to listserv@(protected) and include in the body of the message "signoff J2EE-INTEREST". For general help, send email to listserv@(protected) and include in the body of the message "help".
======================================================================== === To unsubscribe, send email to listserv@(protected) and include in the body of the message "signoff J2EE-INTEREST". For general help, send email to listserv@(protected) and include in the body of the message "help".
=========================================================================== To unsubscribe, send email to listserv@(protected) and include in the body of the message "signoff J2EE-INTEREST". For general help, send email to listserv@(protected) and include in the body of the message "help".
|
|