activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob Davies (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AMQ-1994) NullPointerException in ActiveMQMessageConsumer#acknowledge(ActiveMQMessage) on acknowledgment.
Date Fri, 04 Sep 2009 18:59:23 GMT

     [ https://issues.apache.org/activemq/browse/AMQ-1994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rob Davies updated AMQ-1994:
----------------------------

    Fix Version/s: 5.4.0

> NullPointerException in ActiveMQMessageConsumer#acknowledge(ActiveMQMessage) on acknowledgment.

> ------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-1994
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1994
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.1.0
>         Environment: Windows Terminal Server 2003 / Intel x86 based
>            Reporter: MZ
>             Fix For: 5.4.0
>
>
> Hi Folks!
> We have a problem on acknowledge message with an ActiveMQ 5 Server. We are using AqtiveMQ
for multi-threaded message processing. On a few Threads we continuously receiving messages,
add them to a BlockingQueue and  processing them with a another thread reading on the Queue.
After processing is done, the message is acknowledged. We using durable consumers to make
sure that we won't miss a message on a failure.
> We sometimes (one time in 2-3 weeks) receive the following exception on acknowledging
a message (decision dept is name of the RCP application):
> 2008-10-28 08:20:21,215 WARN  [main] org.csstudio.nams.application.department.decision.DecisionDepartmentActivator:
unable to acknowledge message: Alarmnachricht: JMS-Message: ActiveMQMapMessage {commandId
= 401366, responseRequired = true, messageId = ID:krynfsb-52783-1224106527774-1:0:1:133789:1,
originalDestination = null, originalTransactionId = null, producerId = ID:krynfsb-52783-1224106527774-1:0:1:133789,
destination = topic://ALARM, transactionId = null, expiration = 1225182021162, timestamp =
1225178421162, arrival = 0, correlationId = null, replyTo = null, persistent = true, type
= null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed
= false, userID = null, content = org.apache.activemq.util.ByteSequence@10c7e04, marshalledProperties
= null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties
= true, readOnlyBody = true, droppable = false} ActiveMQMapMessage{ theTable = { ... } }
> org.csstudio.nams.service.messaging.exceptions.MessagingException: acknowledge failed
> 	at org.csstudio.nams.service.messaging.declaration.DefaultNAMSMessage.acknowledge(DefaultNAMSMessage.java:51)
> 	at org.csstudio.nams.application.department.decision.DecisionDepartmentActivator.receiveMessagesUntilApplicationQuits(DecisionDepartmentActivator.java:878)
> 	at org.csstudio.nams.application.department.decision.DecisionDepartmentActivator.performNormalWork(DecisionDepartmentActivator.java:489)
> 	at org.csstudio.nams.application.department.decision.DecisionDepartmentActivator.start(DecisionDepartmentActivator.java:404)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
> Caused by: javax.jms.JMSException: java.lang.NullPointerException
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
> 	at org.apache.activemq.command.ActiveMQMessage.acknowledge(ActiveMQMessage.java:99)
> 	at org.csstudio.nams.service.messaging.impl.jms.JMSConsumer$1.acknowledge(JMSConsumer.java:211)
> 	at org.csstudio.nams.service.messaging.declaration.DefaultNAMSMessage.acknowledge(DefaultNAMSMessage.java:49)
> 	... 15 more
> Caused by: java.lang.NullPointerException
> 	at java.util.LinkedList.clear(Unknown Source)
> 	at org.apache.activemq.ActiveMQMessageConsumer.acknowledge(ActiveMQMessageConsumer.java:761)
> 	at org.apache.activemq.ActiveMQSession.acknowledge(ActiveMQSession.java:1383)
> 	at org.apache.activemq.ActiveMQMessageConsumer$1.execute(ActiveMQMessageConsumer.java:445)
> 	at org.apache.activemq.command.ActiveMQMessage.acknowledge(ActiveMQMessage.java:95)
> 	... 17 more
> Up from this time, we always get the following trace on receiving:
> 2008-10-28 08:20:37,808 FATAL [JMSConsumer#WorkThread-1] org.csstudio.nams.service.messaging.impl.jms.JMSConsumer$WorkThread:
Unexpected exception during recieving message from jms
> java.lang.NullPointerException
> 	at java.util.LinkedList.addBefore(Unknown Source)
> 	at java.util.LinkedList.addFirst(Unknown Source)
> 	at org.apache.activemq.ActiveMQMessageConsumer.beforeMessageIsConsumed(ActiveMQMessageConsumer.java:649)
> 	at org.apache.activemq.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:429)
> 	at org.csstudio.nams.service.messaging.impl.jms.JMSConsumer$WorkThread.run(JMSConsumer.java:85)
> Do you know this problem? Do you have some ideas what happens?
> Thanks,
> Gösta and Matthias

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message