[
https://jira.jboss.org/browse/JBAS-7950?page=com.atlassian.jira.plugin.sy...
]
jaikiran pai commented on JBAS-7950:
------------------------------------
The EJB3 spec says this for MDBs with CMT:
(Section 5.4.14)
<quote>
JMS message-driven beans should not attempt to use the JMS API for message acknowledgment.
Message acknowledgment is automatically handled by the container. *If the message-driven
bean uses container-managed transaction demarcation, message acknowledgment is handled
automatically as a part of the transaction commit.* If bean-managed transaction
demarcation is used, the message receipt cannot be part of the bean-managed transaction,
and, in this case, the receipt is acknowledged by the container. If bean-managed
transaction demarcation is used, the Bean Provider can indicate whether JMS
AUTO_ACKNOWLEDGE semantics or DUPS_OK_ACKNOWLEDGE semantics should apply by using the
activationConfig element of the MessageDriven annotation or by using the
activation-config-property deployment descriptor element. The property name used to
specify the acknowledgment mode is acknowledgeMode. If the acknowledgeMode property is not
specified, JMS AUTO_ACKNOWLEDGE semantics are assumed. The value of the acknowledgeMode
property must be either Auto-acknowledge or Dups-ok-acknowledge for a JMS message-driven
bean.
</quote>
So in case of CMT, the tx commit on the MDB's onMessage() should trigger a message
acknowledgement.
HornetQ keeps re-delivering the message infinitely on a failure to
deliver to MDB
----------------------------------------------------------------------------------
Key: JBAS-7950
URL:
https://jira.jboss.org/browse/JBAS-7950
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JMS (HornetQ)
Environment: AS trunk (hornetq 2.1.0 Beta2)
Reporter: jaikiran pai
Assignee: Tim Fox
Fix For: TBD
Attachments: JBAS-7950-source.tar.gz, jbas7950.ear
As discussed in the referenced forum thread, when HornetQ first fails to deliver a
message to a MDB, it continues to redeliver the message infinitely. Also note that the JMS
Message.getJMSRedelivered() is also broken - it keeps returning false even on a
redelivered message.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira