activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joel Turkel (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQ-1831) Message.getStringProperty("JMSXProducerTXID") throws java.lang.NumberFormatException
Date Mon, 30 Jun 2008 15:32:00 GMT
Message.getStringProperty("JMSXProducerTXID") throws java.lang.NumberFormatException
------------------------------------------------------------------------------------

                 Key: AMQ-1831
                 URL: https://issues.apache.org/activemq/browse/AMQ-1831
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.1.0
         Environment: Windows XP SP2
            Reporter: Joel Turkel


A  java.lang.NumberFormatException is thrown when attempting to retrieve the JMSXProducerTXID
from a message. The stack trace is:

Exception in thread "main" java.lang.NumberFormatException: For input string: "TX:ID:JTURKEL-690-4629-1214839585805-0:0:1"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
	at java.lang.Integer.parseInt(Integer.java:447)
	at java.lang.Integer.<init>(Integer.java:620)
	at org.apache.activemq.filter.PropertyExpression$14.evaluate(PropertyExpression.java:147)
	at org.apache.activemq.filter.PropertyExpression.evaluate(PropertyExpression.java:194)
	at org.apache.activemq.command.ActiveMQMessage.getObjectProperty(ActiveMQMessage.java:447)
	at org.apache.activemq.command.ActiveMQMessage.getStringProperty(ActiveMQMessage.java:535)
	at com.queue.test.MQTest.testBug(MQTest.java:41)
	at com.queue.test.ActiveMQTest.main(ActiveMQTest.java:21)

Here is some simple test code to reproduce the problem:

		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,

				ActiveMQConnection.DEFAULT_PASSWORD, ActiveMQConnection.DEFAULT_BROKER_URL)
		Connection connection = connectionFactory.createConnection();		
		connection.start();
		Session producerSession = connection.createSession(true, Session.SESSION_TRANSACTED);
		MessageProducer producer = producerSession.createProducer(producerSession.createQueue("myQueue"));
		TextMessage producerMessage = producerSession.createTextMessage("Test Message");
		producer.send(producerMessage);
		producer.close();
		producerSession.commit();
		producerSession.close();
		
		Session consumerSession = connection.createSession(true, Session.SESSION_TRANSACTED);
		MessageConsumer consumer = consumerSession.createConsumer(consumerSession.createQueue("myQueue"));
		Message consumerMessage = consumer.receive(1000);
		System.out.println(consumerMessage.getStringProperty("JMSXProducerTXID"));
		consumer.close();
		consumerSession.commit();
		consumerSession.close();

		connection.close();

This problem is quite severe for us since we need the transaction id property and would like
to certify against ActiveMQ.

-- 
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