I have a small problem with Redelivering messages. 

I am using jboss 4.0.5. 

I have looked at bug EJBTHREE-783 and backported the changes from 4.2.1ga to 
the 4.0.5 branch. 

However, when looking at the code, I came across the following part, in 
org.jboss.ejb.plugins.inflow.JBossMessageEndpointFactory:




  | 
  | public boolean isDeliveryTransacted(Method method) throws 
NoSuchMethodException
  |    {
  |       boolean result = false;
  |       int transType = metaData.getMethodTransactionType(method.getName(), 
method.getParameterTypes(), InvocationType.LOCAL);
  |       if (transType == MetaData.TX_REQUIRED)
  |          result = true;
  |       if (trace)
  |          log.trace("isDeliveryTransacted " + 
container.getBeanMetaData().getContainerObjectNameJndiName() + " method=" + 
method + " result=" + result);
  |       return result;
  |    }
  | 
  | 

I am a bit surprised by this method. What about TX_MANDATORY, TX_REQUIRES_NEW, 
and TX_SUPPORT? 

I guess that the delivery is transacted if we are using any of these states. 

Currently messages do not get rollback and requeued if the transaction type is 
other than REQUIRED. I don't think that's correct. They should be requeued as 
well for other transaction types.

What there a logic behind this? I may I reopen EJBTHREE-783?

Thanks,

Nicolas Leroux

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4083882#4083882

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4083882
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to