My Oracle Support Banner

JMS Redelivery Delay Not Honoring for Container Managed Transactions (CMT) having Bean Pool Size > 1 (Doc ID 2656914.1)

Last updated on APRIL 13, 2020

Applies to:

Oracle WebLogic Server - Version 12.2.1.2.0 and later
Information in this document applies to any platform.

Symptoms

 An MDB configured with Initial and Max Bean Pool size >1 (ejb-jar.xml) does not honor the Redelivery Delay set on the JMS Resource like Queue/UDQ. If the Initial and Max Bean Pool size are set to 1, the Redelievry Delay works as expected. The issue happens only with the Container Managed Transactions (CMT) but not with the Bean Managed Transactions (BMT).

Description of the problem with an example:

(1) An MDB deployed consumes the Messages from the UDQ and then processes them.
(2) The MDB involves a transaction in its processing.
(4) UDQ is set with Redelivery Delay of 60 secs.
(5) MDB is configured with Initial and Max Bean Pool size as 5 and 10 respectively (ejb-jar.xml).
(6) When the transaction is rolled back, without waiting for 60 secs, the messages immediately gets involved into the transaction by MDB (basically MDB picks up the message without waiting for 60 secs for its transaction processing).
(7) When MDB Initial and Max Bean Pool size is set to 1, the Redelivery Delay feature works as expected.
(8) The problem appears only with the Container Managed Transactions but not with the Bean Managed Transactions.

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.