Bug 781980 - Detect CLIENT_ACKNOWLEDGE mode using jms-provider on non-gateway queues
Detect CLIENT_ACKNOWLEDGE mode using jms-provider on non-gateway queues
Status: VERIFIED
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: JBossESB (Show other bugs)
5.2.0 GA
Unspecified Unspecified
high Severity high
: ER5
: 5.3.0 GA
Assigned To: tcunning
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-16 04:04 EST by Martin Weiler
Modified: 2015-03-12 07:24 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
When using jms-provider, CLIENT_ACKNOWLEDGE mode was not accepted as a valid non-gateway listener. Although the message was retrieved by the JmsCourier and converted into an ESB message, the reference to the underlying JMS message was removed. Because of this, the message remained in the non-gateway queue after ESB service has been invoked.
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Enhancement
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker JBESB-3739 Major Closed Detect CLIENT_ACKNOWLEDGE mode using jms-provider on non-gateway queues 2015-06-25 07:22:39 EDT

  None (edit)
Description Martin Weiler 2012-01-16 04:04:43 EST
Description of problem:
CLIENT_ACKNOWLEDGE mode is not valid for a non-gateway listener using jms-provider.

If using the jms-provider then the message will be retrieved by the
JmsCourier and converted into an ESB message, after which there is no
longer a reference to the underlying JMS message.  The JmsCourier should
be detecting this and raising an exception.

Version-Release number of selected component (if applicable):
JBoss ESB 4.10

How reproducible:
Consistently


Steps to Reproduce:
1. Modfiy jboss-esb.xml of helloworld quickstart:

          <jms-provider name="JBossMQ"
connection-factory="XAConnectionFactory">
              <jms-bus busid="quickstartGwChannel">
                  <jms-message-filter
                      dest-type="QUEUE"
                      dest-name="queue/quickstart_helloworld_Request_gw"
                      transacted="false"
                      acknowledge-mode="CLIENT_ACKNOWLEDGE"
                   />
              </jms-bus>
              <jms-bus busid="quickstartEsbChannel">
                  <jms-message-filter
                      dest-type="QUEUE"

dest-name="queue/quickstart_helloworld_Request_esb"
                      transacted="false"
                      acknowledge-mode="CLIENT_ACKNOWLEDGE"
                  />
              </jms-bus>
          </jms-provider>


2. Invoke ant runtest
  
Actual results:
Message remains in the non-gateway queue after ESB service has been invoked.

Expected results:
An exception should be raised indicating that CLIENT_ACKNOWLEDGE mode is not supported on non-gateway queues using jms-listener.
Comment 1 Anne-Louise Tangring 2012-01-31 11:13:45 EST
Make it clearer for the user.
Comment 2 Rick Wagner 2012-03-19 17:23:26 EDT
GSS considers this a high priority.  At least one high value, high priority customer is involved in this case.  JMS/Transactions/JCA is an area where we spend a lot of time and effort, if we can improve it we will be much better off.
Comment 3 Suz 2012-06-14 01:39:11 EDT
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
When using jms-provider, CLIENT_ACKNOWLEDGE mode is not accepted as a valid non-gateway listener. Although the message is retrieved by the JmsCourier and converted into an ESB message, the reference to the underlying JMS message is removed. Because of this, the message remains in the non-gateway queue after ESB service has been invoked.
Comment 4 David Le Sage 2012-07-01 23:57:53 EDT
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-When using jms-provider, CLIENT_ACKNOWLEDGE mode is not accepted as a valid non-gateway listener. Although the message is retrieved by the JmsCourier and converted into an ESB message, the reference to the underlying JMS message is removed. Because of this, the message remains in the non-gateway queue after ESB service has been invoked.+When using jms-provider, CLIENT_ACKNOWLEDGE mode was not accepted as a valid non-gateway listener. Although the message was retrieved by the JmsCourier and converted into an ESB message, the reference to the underlying JMS message was removed. Because of this, the message remained in the non-gateway queue after ESB service has been invoked.
Comment 5 JBoss JIRA Server 2012-07-02 15:04:24 EDT
Tom Cunningham <tcunning@redhat.com> updated the status of jira JBESB-3739 to Resolved
Comment 6 JBoss JIRA Server 2012-07-02 15:04:24 EDT
Tom Cunningham <tcunning@redhat.com> made a comment on jira JBESB-3739

Throw an exception on JmsCourier construction if CLIENT_ACKNOWLEDGE is set in the JmsEpr.
Comment 7 JBoss JIRA Server 2012-07-02 15:04:30 EDT
Tom Cunningham <tcunning@redhat.com> updated the status of jira JBESB-3739 to Closed
Comment 8 Marek Baluch 2012-07-14 02:31:44 EDT
Verified on 5.3.ER5.

A quickstart using acknowledge-mode="CLIENT_ACKNOWLEDGE" deployment will now fail.

Note You need to log in before you can comment on or make changes to this bug.