[ 
https://issues.apache.org/jira/browse/GERONIMO-4153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608015#action_12608015
 ] 

Kevan Miller commented on GERONIMO-4153:
----------------------------------------

Hi Mohammed,
Thanks for the test case.

How are you attempting to configure the max redelivery count?

One suggestion -- attaching a deployable artifact to the Jira would be a big 
help. Building the app is minor, but anything you can do to make it easier to 
drive your scenario is much appreciated (including a message producer ;-).

> Messages are not being redelivered correctly
> --------------------------------------------
>
>                 Key: GERONIMO-4153
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4153
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: ActiveMQ
>    Affects Versions: 2.1, 2.1.1
>         Environment: Geronimo 2.1.1, Windows XP SP3. Java 1.6_0_6
>            Reporter: Mohammed Imran
>
> I am experiencing problems with redelivery of messages in activemq/geronimo 
> it seems to not redeliver the message when a system exception occurs. I know 
> that ActiveMQ has a max redelivery count, however the messages seem to stop 
> being processed after 1-2 attempts. I am not getting anywhere near the max 
> redelivery count.
> I enclose a very simple example. This ear simple has 1 MDB which will 
> automatically throw an EJBException. (In the source code I have configured it 
> to use ActiveMQ default queues and connection factory this was only done so 
> you can quickly see what happens without setting up your own queue and 
> connection factory. I also enclose a runnable class which will send a message 
> to the queue.)
> The expected result should be MDB retires 5/10/xxx amount of times whatever 
> the max redelivery count is set to and then stops redelivering the message. 
> However as I have said earlier on I am not getting this, seems to only retry 
> once.
> package test;
> import javax.ejb.*;
> import javax.jms.MessageListener;
> import javax.jms.Message;
> @MessageDriven(activationConfig = {
>     @ActivationConfigProperty(
>             propertyName = "destinationType",
>             propertyValue = "javax.jms.Queue"),
>     @ActivationConfigProperty(
>             propertyName = "destination",
>             propertyValue = TestMDBBean.QUEUE_NAME)
>     ,@ActivationConfigProperty(
>             propertyName = "acknowledgeMode",
>             propertyValue = "Auto-acknowledge")
>         })
> //@TransactionManagement(TransactionManagementType.CONTAINER)
> @TransactionAttribute(TransactionAttributeType.REQUIRED)
> public class TestMDBBean implements MessageListener {
>     public static final String QUEUE_NAME = 
> "SendReceiveQueue";//"ErrorQueue";;
>     public void onMessage(Message message) {
>         System.err.println("This is a test");
>         throw new EJBException("This is a lovely test");
>     }
> }
> open-ejbjar.xml
> <?xml version="1.0" encoding="UTF-8"?>
> <openejb-jar
>         xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1";
>         xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1";
>         xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1";
>         xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1";
>         xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0";>
>     <enterprise-beans>
>         <message-driven>
>             <ejb-name>TestMDBBean</ejb-name>
>             <resource-adapter>
>                 <!--<resource-link>MyJMSResources</resource-link>-->
>                 <resource-link>ActiveMQ RA</resource-link>
>             </resource-adapter>
>         </message-driven>
>     </enterprise-beans>
> </openejb-jar>
> Geronimo application
> <?xml version="1.0" encoding="UTF-8"?>
> <application
>         xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.2";
>         xmlns:security="http://geronimo.apache.org/xml/ns/security-1.2";
>         xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"; 
> application-name="My">
>     <sys:environment>
>         <sys:moduleId>
>             <sys:groupId>tester</sys:groupId>
>             <sys:artifactId>mdb</sys:artifactId>
>             <sys:version>1</sys:version>
>             <sys:type>car</sys:type>
>         </sys:moduleId>
>         <sys:dependencies>
> <!--
>             <sys:dependency>
>                 <sys:groupId>My.jms</sys:groupId>
>                 <sys:artifactId>MyJMSResources</sys:artifactId>
>                 <sys:version>1.0</sys:version>
>                 <sys:type>rar</sys:type>
>             </sys:dependency>
> -->
>             <sys:dependency>
>                 <sys:groupId>org.apache.geronimo.configs</sys:groupId>
>                 <sys:artifactId>activemq-ra</sys:artifactId>
>                 <sys:version>2.1.1</sys:version>
>                 <sys:type>car</sys:type>
>             </sys:dependency>
>             
>         </sys:dependencies>
>         <sys:hidden-classes/>
>         <sys:non-overridable-classes/>
>     </sys:environment>
> </application>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to