Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
5.4.1
-
None
-
None
-
JDK 1.6 (64-bit), Windows Server 2008 x64
Description
Sometime we get NullPointerException when sending a text message. We use method send(destination, message) of interface javax.jms.MessageProducer.
java.lang.NullPointerException
at org.apache.activemq.command.ActiveMQTextMessage.getSize(ActiveMQTextMessage.java:148)
at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1753)
at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:300)
Caller code is:
try {
final TextMessage message = session.createTextMessage(msg);
message.setJMSType(type);
message.setJMSReplyTo(destination);
message.setJMSCorrelationID(jmsMessageId);
producer.send(destination, message);
} catch (JMSException ex) {
...
}
I.e. we don't reuse or store the message being sent.
We are also 100% sure that both session and its producer are used only from one thread at any point of time (we have custom session pool).
Broker URI is vm://jboss-activemq-broker?jms.copyMessageOnSend=false&jms.objectMessageSerializationDefered=true&jms.useAsyncSend=true
The NPE occurs occasionally, we were not able to reproduce it deterministically so far.
Any suggestions on how to investigate this?