[jboss-user] [Messaging, JMS & JBossMQ] - Joram Test failling on Selector JMSDEliveryMode
clebert.suconic@jboss.com
do-not-reply at jboss.com
Mon Sep 24 18:41:02 EDT 2007
I have this failing testcase (copied from JORAM Test):
| public void testJMSDeliveryModeInSelector()
| {
| try
| {
| receiver = receiverSession.createReceiver(receiverQueue, "JMSDeliveryMode = 2");
| receiverConnection.start();
|
| TextMessage dummyMessage = senderSession.createTextMessage();
| dummyMessage.setText("testJMSDeliveryModeInSelector:1");
| // send a dummy message in *non persistent* mode
| sender.send(dummyMessage, DeliveryMode.NON_PERSISTENT, sender.getPriority(), sender.getTimeToLive());
|
| TextMessage message = senderSession.createTextMessage();
| message.setText("testJMSDeliveryModeInSelector:2");
| // send a message in *persistent*
| sender.send(message, DeliveryMode.PERSISTENT, sender.getPriority(), sender.getTimeToLive());
|
| TextMessage msg = (TextMessage)
| receiver.receive(TestConfig.TIMEOUT);
| assertTrue("No message was received", msg != null); // <<< test fails here
| // only the message sent in persistent mode should be received.
| assertEquals(DeliveryMode.PERSISTENT, msg.getJMSDeliveryMode());
| assertEquals("testJMSDeliveryModeInSelector:2", msg.getText());
| }
| catch (JMSException e)
| {
| fail(e);
| }
| }
|
The test fails on the assertion I highlighted on the code above.
On server logs you will see this:
java.lang.Exception: Bad Object: expected 'String' got 'Long' for operation: 0:EQUAL(
| Identifier at JMSDeliveryMode
| 2
| )
|
| at org.jboss.mq.selectors.Operator.throwBadObjectException(Operator.java:981)
| at org.jboss.mq.selectors.Operator.equal(Operator.java:215)
| at org.jboss.mq.selectors.Operator.apply(Operator.java:917)
| at org.jboss.mq.selectors.Selector.test(Selector.java:168)
| at org.jboss.mq.Subscription.accepts(Subscription.java:109)
| at org.jboss.mq.server.BasicQueue.receive(BasicQueue.java:683)
| at org.jboss.mq.server.JMSQueue.receive(JMSQueue.java:185)
| at org.jboss.mq.server.ClientConsumer.receive(ClientConsumer.java:228)
| at org.jboss.mq.server.JMSDestinationManager.receive(JMSDestinationManager.java:604)
| at org.jboss.mq.server.JMSServerInterceptorSupport.receive(JMSServerInterceptorSupport.java:141)
| at org.jboss.mq.security.ServerSecurityInterceptor.receive(ServerSecurityInterceptor.java:115)
| at org.jboss.mq.server.TracingInterceptor.receive(TracingInterceptor.java:450)
| at org.jboss.mq.server.JMSServerInvoker.receive(JMSServerInvoker.java:147)
| at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:177)
| at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:395)
| at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
| at java.lang.Thread.run(Thread.java:595)
| 17:26:28,170 WARN [Selector] Invalid selector: JMSDeliveryMode = 2
| java.lang.Exception: Bad Object: expected 'String' got 'Long' for operation: 0:EQUAL(
| Identifier at JMSDeliveryMode
| 2
| )
|
| at org.jboss.mq.selectors.Operator.throwBadObjectException(Operator.java:981)
| at org.jboss.mq.selectors.Operator.equal(Operator.java:215)
| at org.jboss.mq.selectors.Operator.apply(Operator.java:917)
| at org.jboss.mq.selectors.Selector.test(Selector.java:168)
| at org.jboss.mq.Subscription.accepts(Subscription.java:109)
| at org.jboss.mq.server.BasicQueue.receive(BasicQueue.java:683)
| at org.jboss.mq.server.JMSQueue.receive(JMSQueue.java:185)
| at org.jboss.mq.server.ClientConsumer.receive(ClientConsumer.java:228)
| at org.jboss.mq.server.JMSDestinationManager.receive(JMSDestinationManager.java:604)
| at org.jboss.mq.server.JMSServerInterceptorSupport.receive(JMSServerInterceptorSupport.java:141)
| at org.jboss.mq.security.ServerSecurityInterceptor.receive(ServerSecurityInterceptor.java:115)
| at org.jboss.mq.server.TracingInterceptor.receive(TracingInterceptor.java:450)
| at org.jboss.mq.server.JMSServerInvoker.receive(JMSServerInvoker.java:147)
| at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:177)
| at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:395)
| at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
| at java.lang.Thread.run(Thread.java:595)
|
My knowledge of MQ codebase is enough just to determine this looks a real issue. The same test will pass on JBoss Messaging.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4088206#4088206
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4088206
More information about the jboss-user
mailing list