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



-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to