From: rgjawanda <nu...@jb...> - 2004-05-28 20:59:58
|
I have a message bean that reponds to a client submitting a queue when I have QueueSession session = qc.createQueueSession (false,Session.AUTO_ACKNOWLEDGE); QueueSender sender = session.createSender(queue) ; TextMessage tm = session.createTextMessage("Hello World"); qc.start() ; sender.send(queue,tm) ; Jboss reads the queue and reports on the console the output. ie: My message bean gets the attached queue text message. When I change it to false on the createQueueSession QueueSession session = qc.createQueueSession(true,0); QueueSender sender = session.createSender(queue) ; TextMessage tm = session.createTextMessage("Hello World"); qc.start() ; sender.send(queue,tm) ; And then modify my ejb-jar.xml (see below) to support transactions. I don't get any response. ie: the message bean never sees the input. Anyone have an idea? Thanks a bunch. Ron <ejb-jar> <display-name>BranchConsolidator</display-name> <enterprise-beans> <message-driven> <display-name>HeadOfficeConsolidatorMessageBean</display-name> <ejb-name>HeadOfficeConsolidatorMessageBean</ejb-name> <ejb-class>ca.husky.imanmq.HeadOfficeConsolidatorMessageBean</ejb-class> <transaction-type>Container</transaction-type> <acknowledge-mode>Auto-acknowledge</acknowledge-mode> <message-driven-destination> <destination-type>javax.jms.Queue</destination-type> <subscription-durability>Durable</subscription-durability> </message-driven-destination> </message-driven> <assembly-descriptor> <container-transaction> <method-permission> <ejb-name>HeadOfficeConsolidatorMessageBean</ejb-name> <method-name>*</method-name> </method-permission> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </enterprise-beans> </ejb-jar> My EJB onMessage is this public void onMessage(Message message) { System.out.println("Bean got message" + message.toString() ); TextMessage msg = null; try { if (message instanceof TextMessage) { msg = (TextMessage) message; System.out.println("MESSAGE BEAN: Message " + "received: " + msg.getText()); System.out.println("message.getJMSMessageID()= " + message.getJMSMessageID()) ; } else { System.out.println("Message of wrong type: " + message.getClass().getName()); } // msg.notify() ; } catch (JMSException e) { System.err.println("MessageBean.onMessage: " + "JMSException: " + e.toString()); mdc.setRollbackOnly(); } catch (Throwable te) { System.err.println("MessageBean.onMessage: " + "Exception: " + te.toString()); } View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3836732#3836732 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3836732 |