Bugs item #501972, was opened at 2002-01-10 11:04
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=501972&group_id=22866

Category: JBossMQ
Group: v2.4 (stable)
Status: Open
Resolution: None
Priority: 5
Submitted By: Corby (corby)
>Assigned to: Andreas Schaefer (schaefera)
Summary: Messages can not be resent

Initial Comment:
When a message is received from a queue, if it is 
placed in another queue, acknowledgement of the 
message will fail. This occurs in JBoss 2.4.4-Catalina 
on Windows 2000.

The following code fragment replicates the problem. 
mapMessage is a message that was received from a queue.

queueConnection = JMSHelper.getQueueConnection( 
JMSHelper.NONXA_CONNECTION_FACTORY );
queueSession = JMSHelper.getQueueSession( 
queueConnection );
queueSender = JMSHelper.getQueueSender( queueSession, 
JMSHelper.FAILED_ALLOCATIONS_QUEUE );

queueConnection.start();
queueSender.send( mapMessage );

With this code, the message is forwarded into the new 
queue, but acknowledgement fails. When JBoss is 
restarted, the message will be delivered.

Acknowlegement will succeed when I manually copy the 
message, like so:

queueConnection = JMSHelper.getQueueConnection( 
JMSHelper.NONXA_CONNECTION_FACTORY );
queueSession = JMSHelper.getQueueSession( 
queueConnection );
queueSender = JMSHelper.getQueueSender( queueSession, 
JMSHelper.FAILED_ALLOCATIONS_QUEUE );
                                
// NOTE: I am copying this message because of a bug in 
the current version
// of JBossMQ. In future versions, we should be able 
to forward the message
// without copying it.
MapMessage sentMessage = JMSHelper.createMapMessage( 
queueSession );

sentMessage.setString( ACCOUNTING_LOCATION_NUMBER, 
mapMessage.getString( ACCOUNTING_LOCATION_NUMBER ));
sentMessage.setString( DIRECTION_OF_FLOW, 
mapMessage.getString( DIRECTION_OF_FLOW ));
sentMessage.setLong( BEGIN_PRODUCTION_TIME, 
mapMessage.getLong( BEGIN_PRODUCTION_TIME ));
sentMessage.setLong( END_PRODUCTION_TIME, 
mapMessage.getLong( END_PRODUCTION_TIME ));

queueConnection.start();
queueSender.send( sentMessage );

Peter claimed at the beginning of November that this 
problem had been fixed in CVS:
http://www.jboss.org/forums/thread.jsp?
forum=48&thread=3789&message=254709

However, subsequent build of the system, including the 
JBoss 2.4.4-Catalina distribution, continue to have 
this problem.

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

Comment By: Christian Riege (lqd)
Date: 2002-01-11 03:32

Message:
Logged In: YES 
user_id=176671

pls. see attached patch file which is versus the Branch_2_4
CVS. This is the 2.4 backport of the fix from HEAD.

Corby, can you apply the patch and give us feedback of
whether this solves your problem? if you don't have JBoss
2.4.4 CVS sources drop me a note and I will send the MQ .jar
files.

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

Comment By: Peter Antman (pra)
Date: 2002-01-11 00:03

Message:
Logged In: YES 
user_id=84651

This was (and is fixed) in the main trunk of JBossMQ
(http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jboss/jbossmq/src/main/org/jboss/mq/SpyMessage.java.diff?r1=1.3&r2=1.4),
but has never been backported to the 2.4 version of JBossMQ.

Therefore: it works in 3.0, but the 2.4.4 is broken.

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

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=501972&group_id=22866


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to