If the JMS_JBOSS_REDELIVERY_LIMIT in the JMS message header is set to a value higher then the MaxTimesRedelivered setting of the DLQConfig in the invoker-proxy-binding used by the MDB, the MDB will retry 1+ the MaxTimesRelivered max value, and then drop the message instead of forwarding it to the DLQ.
For example, if the MaxTimesRedelivered is set to 3 and the JMS_JBOSS_REDELIVERY_LIMIT is set to 5, the MDB retries 4 times and the message is dropped and not forwarded to the DLQ.
I would understand if the behaviour would be retrying 3 times max and then forwarded to the DLQ , even with the JMS_JBOSS_REDELIVERY_LIMIT set higher then 3. However, since it is retry 4 times and dropping the message, this seems to be a bug in how the JMS_JBOSS_REDELIVERY is being used the the JMS subsystem.
One detail I forgot to include is that I'm using custom invoker-proxy-bindings and container-configs that are deployed with my MDBs. The default invoker-proxy-bindings that ship with JBoss haven't been touched.