3 Replies Latest reply on Nov 18, 2003 2:17 PM by Michael Arnett

    MessageDriven Bean Redelivery Fails

    Michael Arnett Newbie

      Hi all,
      I am using JBoss3.2.1-Tomcat bundle.
      I am having some difficulty and expect that I am overlooking something obvious. I am trying to confirm that JMS messages that are not acknowledged get resent. I am using a MessageDrivenBean as the consumer. However, what I am seeing is that if I change the JDBC properties to an invalid login which causes the onMessage method to fail and therefore the acknowledgement is not sent back to the JMS Q. Send through a couple of messages, then reset the JDBC values to something valid, and never see the 'failed' messages again. How do you force the failed messages to be redelivered until acknowledged by the client?
      Thanks in advance,
      -MLA

      Here are the definitions for my Queue and EJB

      jbossmq-destinations:


      <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager


      jbossmq-service:

      <depends optional-attribute-name="Invoker">jboss.mq:service=Invoker
      com.promisant.QueueConnectionFactory
      com.promisant.QueueConnectionFactory
      18090
      60000
      true


      ejb.jar

      <message-driven >
      <![CDATA[]]>
      <display-name>Message Driven Request Test Bean</display-name>
      <ejb-name>ReportRequestMessageDrivenBean</ejb-name>
      <ejb-class>com.promisant.controller.modules.ReportRequestMessageDrivenBean</ejb-class>
      <transaction-type>Container</transaction-type>
      <acknowledge-mode>CLIENT_ACKNOWLEDGE</acknowledge-mode>
      <message-driven-destination>
      <destination-type>javax.jms.Queue</destination-type>
      <subscription-durability>NonDurable</subscription-durability>
      </message-driven-destination>
      </message-driven>