You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by eidolon1138 <dg...@skyroadasp.com> on 2008/11/12 00:41:20 UTC

RedeliveryPolicy via Annotation, XML, or URI?

We are using AMQ5.1.  We have an MDB with the following Annotations...

@MessageDriven(activationConfig =
{
      @ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Queue"),
      @ActivationConfigProperty(propertyName="destination",
propertyValue="AMQ.Calypso.Event.Receive"),
      @ActivationConfigProperty(propertyName="maxMessagesPerSessions",
propertyValue="1"), //necessary to ensure FIFO processing of trades
      @ActivationConfigProperty(propertyName="maxSessions",
propertyValue="1"),            //necessary to ensure FIFO processing of
trades
      //Configure to retry 5 times, waiting five times longer between each
retry.
      @ActivationConfigProperty(propertyName="maximumRedeliveries",
propertyValue="5"),
      @ActivationConfigProperty(propertyName="redeliveryBackOffMultiplier",
propertyValue="5"),
     
@ActivationConfigProperty(propertyName="redeliveryUseExponentialBackOff",
propertyValue="true"), 
      @ActivationConfigProperty(propertyName="acknowledgeMode",
propertyValue="Auto-acknowledge")
})


...but when I deploy it, I get the following error:



org.jboss.deployment.DeploymentException: Error for ActivationSpec class
org.apache.activemq.ra.ActiveMQActivationSpec as JavaBean; - nested
throwable: (java.beans.IntrospectionException: No property found for:
redeliveryUseExponentialBackOff on JavaBean:
ActiveMQActivationSpec{acknowledgeMode='Auto-acknowledge',
destinationType='javax.jms.Queue', messageSelector='null',
destination='AMQ.Calypso.Event.Receive', clientId='null',
subscriptionName='null', subscriptionDurability='NonDurable'})


According to the  http://activemq.apache.org/activation-spec-properties.html
documentation  this should work.  However, when I looked at the source
ActiveMQActivationSpec.validate() it really doesn't handle the redelivery
properties.  Why is that?

We have also tried using the uri arguments like this:

tcp://dg-lxws09:61616?jms.redeliveryPolicy.initialRedeliveryDelay=30000

but there was no change in behavior, it redelivered the message immediately.

Finally, we've played with using a deployment descriptor to specify the
redelivery properties, but upon deployment we get the same "No property
found" error from above.

Again, according to the 
http://activemq.apache.org/activation-spec-properties.html documentation  we
should be able to specify this on the ResourceAdapter as well.  How do I do
this?  I've been looking scouring the schema for activemq-ds.xml and ra.xml,
but I don't see anything obvious.

Thoughts?

- Dave

-- 
View this message in context: http://www.nabble.com/RedeliveryPolicy-via-Annotation%2C-XML%2C-or-URI--tp20450981p20450981.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.