You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Danielius Jurna <da...@elitnet.lt> on 2006/04/04 15:03:24 UTC

Message Redelivery with Jencks

Hi.

I'm using ActiveMQ 4 inside Jecks JCA container.

What is the correct way to inform Jencks that I want to redeliver this
message? Throwing runtime exceptions closes the session and reconnects.
Actually the message gets redelivered on reconnect, but that's very nasty
way to redeliver a message :-)
--
View this message in context: http://www.nabble.com/Message-Redelivery-with-Jencks-t1392919.html#a3743894
Sent from the ActiveMQ - User forum at Nabble.com.


Re: Message Redelivery with Jencks

Posted by Rodrigo S de Castro <ro...@terra.com.br>.
I have exactly the same problem with ActiveMQ SNAPSHOT (Apr 6th) + Jencks
1.1.3 + Spring 1.2.6. I configured RedeliveryPolicy to retry twice (only for
testing purposes) and have the same NullPointerException as reported below
by HDunst.

Redelivery works in the first time, but unfortunately after this
NullPointerException, messages are no longer delivered to the MDB.

If you need further information about this problem, please let me know.


HDunst wrote:
> 
> 2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0]
> - <Endpoint failed to process message.>
> java.lang.NullPointerException
> 	at
> org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:218)
> 	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:723)
> 	at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:163)
> 	at
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
> 	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
> 	at java.lang.Thread.run(Thread.java:568)
> 2006-04-06 20:36:20,797 INFO [org.apache.activemq.ra.ServerSessionImpl:0]
> - <Endpoint failed to process message. Reason:
> java.lang.NullPointerException>
> 2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0]
> - <run loop end>
> 2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0]
> - <Endpoint did not release properly:
> org.apache.activemq.ra.InvalidMessageEndpointException>
> org.apache.activemq.ra.InvalidMessageEndpointException
> 	at
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointDead.release(MessageEndpointProxy.java:156)
> 	at
> org.apache.activemq.ra.MessageEndpointProxy.release(MessageEndpointProxy.java:68)
> 	at
> org.apache.activemq.ra.ServerSessionImpl.close(ServerSessionImpl.java:250)
> 	at
> org.apache.activemq.ra.ServerSessionPoolImpl.removeFromPool(ServerSessionPoolImpl.java:180)
> 	at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:177)
> 	at
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
> 	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
> 	at java.lang.Thread.run(Thread.java:568)
> 2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0]
> - <Run finished>
> 2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0]
> - <Work completed: javax.resource.spi.work.WorkEvent[source=Work
> :ServerSessionImpl:0]>
> 2006-04-06 20:36:21,547 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1]
> - <Endpoint failed to process message.>
> java.lang.NullPointerException
> 	at
> org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:218)
> 	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:723)
> 	at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:163)
> 	at
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
> 	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
> 	at java.lang.Thread.run(Thread.java:568)
> 2006-04-06 20:36:21,562 INFO [org.apache.activemq.ra.ServerSessionImpl:1]
> - <Endpoint failed to process message. Reason:
> java.lang.NullPointerException>
> 2006-04-06 20:36:21,562 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1]
> - <run loop end>
> 
--
View this message in context: http://www.nabble.com/Message-Redelivery-with-Jencks-t1392919.html#a3926007
Sent from the ActiveMQ - User forum at Nabble.com.


Re: Message Redelivery with Jencks

Posted by John Pederzolli <jp...@gmail.com>.
...looks familiar, Im having a very similar issue
(http://www.nabble.com/Transaction-Retry-Problems-%28AMQ4-Snapshot%29-t1406942.html)...I've
been  looking into it to determine if there is a configuration issue...
--
View this message in context: http://www.nabble.com/Message-Redelivery-with-Jencks-t1392919.html#a3796681
Sent from the ActiveMQ - User forum at Nabble.com.


Re: Message Redelivery with Jencks

Posted by HDunst <Ho...@nexgo.de>.
I have the same problem with ActiveMQ RC2 and Jencks 1.1.3.

I receive a message in an MDB and throw a RuntimeException. After that the
message is redelivered a second time. If I throw a RuntimeException again, I
get the following exception:

2006-04-06 20:36:13,875 ERROR [org.apache.activemq.ActiveMQSession] - <error
dispatching message: >
java.lang.RuntimeException: java.lang.Exception: Test
	at org.jencks.ReplyerBeanImpl.onMessage(ReplyerBeanImpl.java:138)
	at
org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
	at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:120)
	at
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:60)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:664)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:163)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:568)
Caused by: java.lang.Exception: Test
	at org.jencks.ReplyerBeanImpl.onMessage(ReplyerBeanImpl.java:132)
	... 8 more
2006-04-06 20:36:13,875 DEBUG
[org.apache.activemq.ra.ActiveMQEndpointWorker] - <Reconnect cause: >
javax.jms.JMSException: java.lang.Exception: Test
	at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:45)
	at
org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1397)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:668)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:163)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:568)
Caused by: java.lang.RuntimeException: java.lang.Exception: Test
	at org.jencks.ReplyerBeanImpl.onMessage(ReplyerBeanImpl.java:138)
	at
org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
	at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:120)
	at
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:60)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:664)
	... 4 more
Caused by: java.lang.Exception: Test
	at org.jencks.ReplyerBeanImpl.onMessage(ReplyerBeanImpl.java:132)
	... 8 more
2006-04-06 20:36:16,031 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] - <Sending:
WireFormatInfo { version=1, properties={TightEncodingEnabled=true,
TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true,
MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}>
2006-04-06 20:36:16,031 DEBUG
[org.apache.activemq.transport.tcp.TcpTransport] - <TCP consumer thread
starting>
2006-04-06 20:36:16,031 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] - <Sending:
WireFormatInfo { version=1, properties={TightEncodingEnabled=true,
TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true,
MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}>
2006-04-06 20:36:16,031 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] - <Received WireFormat:
WireFormatInfo { version=1, properties={StackTraceEnabled=true,
TightEncodingEnabled=true, TcpNoDelayEnabled=true, SizePrefixDisabled=false,
MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}>
2006-04-06 20:36:16,031 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] -
<tcp:///127.0.0.1:1196 before negotiation: OpenWireFormat{version=1,
cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false,
sizePrefixDisabled=false}>
2006-04-06 20:36:16,031 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] -
<tcp:///127.0.0.1:1196 after negotiation: OpenWireFormat{version=1,
cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
sizePrefixDisabled=false}>
2006-04-06 20:36:16,047 DEBUG
[org.apache.activemq.transport.tcp.TcpTransport] - <TCP consumer thread
starting>
2006-04-06 20:36:16,062 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] - <Received WireFormat:
WireFormatInfo { version=1, properties={StackTraceEnabled=true,
TightEncodingEnabled=true, TcpNoDelayEnabled=true, SizePrefixDisabled=false,
MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}>
2006-04-06 20:36:16,062 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] -
<tcp://localhost/127.0.0.1:61616 before negotiation:
OpenWireFormat{version=1, cacheEnabled=false, stackTraceEnabled=false,
tightEncodingEnabled=false, sizePrefixDisabled=false}>
2006-04-06 20:36:16,062 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] -
<tcp://localhost/127.0.0.1:61616 after negotiation:
OpenWireFormat{version=1, cacheEnabled=true, stackTraceEnabled=true,
tightEncodingEnabled=true, sizePrefixDisabled=false}>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
- <ServerSession requested.>
2006-04-06 20:36:16,094 DEBUG
[org.springframework.beans.factory.support.DefaultListableBeanFactory] -
<Returning cached instance of singleton bean 'replyerBean'>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
- <Created a new session: ServerSessionImpl:2>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] -
<Starting run.>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] -
<Work accepted:
javax.resource.spi.work.WorkEvent[source=org.apache.geronimo.connector.work.GeronimoWorkManager@70afaa2f]>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] -
<Work started: javax.resource.spi.work.WorkEvent[source=Work
:ServerSessionImpl:2]>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] -
<Running>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] -
<run loop start>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] -
<run loop end>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
- <Session returned to pool: ServerSessionImpl:2>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] -
<Run finished>
2006-04-06 20:36:16,094 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] -
<Work completed: javax.resource.spi.work.WorkEvent[source=Work
:ServerSessionImpl:2]>
2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0] -
<Endpoint failed to process message.>
java.lang.NullPointerException
	at
org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:218)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:723)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:163)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:568)
2006-04-06 20:36:20,797 INFO [org.apache.activemq.ra.ServerSessionImpl:0] -
<Endpoint failed to process message. Reason: java.lang.NullPointerException>
2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0] -
<run loop end>
2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0] -
<Endpoint did not release properly:
org.apache.activemq.ra.InvalidMessageEndpointException>
org.apache.activemq.ra.InvalidMessageEndpointException
	at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointDead.release(MessageEndpointProxy.java:156)
	at
org.apache.activemq.ra.MessageEndpointProxy.release(MessageEndpointProxy.java:68)
	at
org.apache.activemq.ra.ServerSessionImpl.close(ServerSessionImpl.java:250)
	at
org.apache.activemq.ra.ServerSessionPoolImpl.removeFromPool(ServerSessionPoolImpl.java:180)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:177)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:568)
2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0] -
<Run finished>
2006-04-06 20:36:20,797 DEBUG [org.apache.activemq.ra.ServerSessionImpl:0] -
<Work completed: javax.resource.spi.work.WorkEvent[source=Work
:ServerSessionImpl:0]>
2006-04-06 20:36:21,547 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] -
<Endpoint failed to process message.>
java.lang.NullPointerException
	at
org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:218)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:723)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:163)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:568)
2006-04-06 20:36:21,562 INFO [org.apache.activemq.ra.ServerSessionImpl:1] -
<Endpoint failed to process message. Reason: java.lang.NullPointerException>
2006-04-06 20:36:21,562 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] -
<run loop end>
2006-04-06 20:36:21,562 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] -
<Endpoint did not release properly:
org.apache.activemq.ra.InvalidMessageEndpointException>
org.apache.activemq.ra.InvalidMessageEndpointException
	at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointDead.release(MessageEndpointProxy.java:156)
	at
org.apache.activemq.ra.MessageEndpointProxy.release(MessageEndpointProxy.java:68)
	at
org.apache.activemq.ra.ServerSessionImpl.close(ServerSessionImpl.java:250)
	at
org.apache.activemq.ra.ServerSessionPoolImpl.removeFromPool(ServerSessionPoolImpl.java:180)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:177)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:568)
2006-04-06 20:36:21,562 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] -
<Run finished>
2006-04-06 20:36:21,562 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] -
<Work completed: javax.resource.spi.work.WorkEvent[source=Work
:ServerSessionImpl:1]>


--
View this message in context: http://www.nabble.com/Message-Redelivery-with-Jencks-t1392919.html#a3791038
Sent from the ActiveMQ - User forum at Nabble.com.