[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjms-developer
Subject:    [openjms-developer] [ openjms-Bugs-823331 ] Can't acknowledge message after republishing
From:       "SourceForge.net" <noreply () sourceforge ! net>
Date:       2003-10-19 14:41:18
[Download RAW message or body]

Bugs item #823331, was opened at 2003-10-14 20:15
Message generated for change (Comment added) made by tanderson
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=823331&group_id=54559

Category: message engine
Group: v0.7.6-rc2
>Status: Closed
>Resolution: Fixed
Priority: 5
Submitted By: Tim Anderson (tanderson)
Assigned to: Tim Anderson (tanderson)
Summary: Can't acknowledge message after republishing

Initial Comment:
Given the following set of conditions:
. single CLIENT_ACKNOWLEDGE session
. durable subscriber, subscribing to "topic1"
. messages received via the subscriber are republished 
to "topic2", prior to their acknowledgement

...any message received via the subscriber will be re-
received when the subscriber is re-recreated i.e, the 
acknowledgement is being ignored.

This was originally described in the following thread:
http://sourceforge.net/forum/forum.php?
thread_id=950810&forum_id=181831

Test case to reproduce to follow.

----------------------------------------------------------------------

>Comment By: Tim Anderson (tanderson)
Date: 2003-10-20 00:41

Message:
Logged In: YES 
user_id=557161

Fixed in CVS. Will be available in the 0.7.6 release.

A corresponding test case has been added to JMS CTS: 
org.exolab.jmscts.test.session.clientack.RepublishTest

----------------------------------------------------------------------

Comment By: Tim Anderson (tanderson)
Date: 2003-10-14 21:04

Message:
Logged In: YES 
user_id=557161

The problem is that when the message is republished, it is 
assigned a new JMSMessageID, as per section 3.4.3 of the 
spec. However, OpenJMS uses the JMSMessageID for 
message acknowledgement - when message.acknowledge() 
is invoked, the JMSMesageID assigned at republication is 
used, rather than the identifier it had when it was received.

According to section 4.4.11 of the spec, 
CLIENT_ACKNOWLEDGE has the following 
behaviour: "acknowledging a consumed message 
automatically acknowledges the receipt of all messages that 
have been delived by its session".
In other words, although the message has been republished, 
it should still be possible to invoke acknowledge() and ack all 
messages received by the session.
 

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=823331&group_id=54559


-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo
The Event For Linux Datacenter Solutions & Strategies in The Enterprise 
Linux in the Boardroom; in the Front Office; & in the Server Room 
http://www.enterpriselinuxforum.com
_______________________________________________
openjms-developer mailing list
openjms-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openjms-developer
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic