[jboss-cvs] JBoss Messaging SVN: r7787 - in trunk: tests/src/org/jboss/messaging/tests/integration/client and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Aug 19 05:03:51 EDT 2009
Author: timfox
Date: 2009-08-19 05:03:50 -0400 (Wed, 19 Aug 2009)
New Revision: 7787
Modified:
trunk/src/main/org/jboss/messaging/jms/client/JBossMessageConsumer.java
trunk/tests/src/org/jboss/messaging/tests/integration/client/ConsumerTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/consumer/ConsumerTest.java
Log:
https://jira.jboss.org/jira/browse/JBMESSAGING-1716
Modified: trunk/src/main/org/jboss/messaging/jms/client/JBossMessageConsumer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/client/JBossMessageConsumer.java 2009-08-19 06:22:36 UTC (rev 7786)
+++ trunk/src/main/org/jboss/messaging/jms/client/JBossMessageConsumer.java 2009-08-19 09:03:50 UTC (rev 7787)
@@ -119,7 +119,7 @@
{
this.listener = listener;
- coreListener = new JMSMessageListenerWrapper(session, consumer, listener, ackMode);
+ coreListener = listener == null ? null : new JMSMessageListenerWrapper(session, consumer, listener, ackMode);
try
{
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/client/ConsumerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/ConsumerTest.java 2009-08-19 06:22:36 UTC (rev 7786)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/ConsumerTest.java 2009-08-19 09:03:50 UTC (rev 7787)
@@ -21,6 +21,9 @@
*/
package org.jboss.messaging.tests.integration.client;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
import org.jboss.messaging.core.client.ClientConsumer;
import org.jboss.messaging.core.client.ClientMessage;
import org.jboss.messaging.core.client.ClientProducer;
@@ -38,9 +41,6 @@
import org.jboss.messaging.tests.util.ServiceTestBase;
import org.jboss.messaging.utils.SimpleString;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
/**
* @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
* @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
@@ -285,5 +285,61 @@
assertTrue(latch.await(5, TimeUnit.SECONDS));
sessionRec.close();
}
+
+ public void testClearListener() throws Exception
+ {
+ ClientSessionFactory sf = createInVMFactory();
+ ClientSession session = sf.createSession(false, true, true);
+
+ session.createQueue(QUEUE, QUEUE, null, false);
+
+ ClientConsumer consumer = session.createConsumer(QUEUE);
+
+ consumer.setMessageHandler(new MessageHandler()
+ {
+ public void onMessage(ClientMessage msg)
+ {
+ }
+ });
+
+ consumer.setMessageHandler(null);
+ consumer.receiveImmediate();
+ }
+
+ public void testNoReceiveWithListener() throws Exception
+ {
+ ClientSessionFactory sf = createInVMFactory();
+
+ ClientSession session = sf.createSession(false, true, true);
+
+ session.createQueue(QUEUE, QUEUE, null, false);
+
+ ClientConsumer consumer = session.createConsumer(QUEUE);
+
+ consumer.setMessageHandler(new MessageHandler()
+ {
+ public void onMessage(ClientMessage msg)
+ {
+ }
+ });
+
+ try
+ {
+ consumer.receiveImmediate();
+ fail("Should throw exception");
+ }
+ catch (MessagingException me)
+ {
+ if (me.getCode() == MessagingException.ILLEGAL_STATE)
+ {
+ //Ok
+ }
+ else
+ {
+ fail("Wrong exception code");
+ }
+ }
+ }
+
}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/consumer/ConsumerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/consumer/ConsumerTest.java 2009-08-19 06:22:36 UTC (rev 7786)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/consumer/ConsumerTest.java 2009-08-19 09:03:50 UTC (rev 7787)
@@ -21,6 +21,15 @@
*/
package org.jboss.messaging.tests.integration.jms.consumer;
+import javax.jms.Connection;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageListener;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
@@ -35,13 +44,6 @@
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.utils.SimpleString;
-import javax.jms.Connection;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
/**
* @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
*/
@@ -61,20 +63,20 @@
protected void setUp() throws Exception
{
super.setUp();
-
+
Configuration conf = new ConfigurationImpl();
conf.setSecurityEnabled(false);
conf.setJMXManagementEnabled(true);
conf.getAcceptorConfigurations()
.add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory"));
- server = Messaging.newMessagingServer(conf, false);
+ server = Messaging.newMessagingServer(conf, false);
jmsServer = new JMSServerManagerImpl(server);
jmsServer.setContext(new NullInitialContext());
- jmsServer.start();
+ jmsServer.start();
jmsServer.createQueue(Q_NAME, Q_NAME, null, true);
cf = new JBossConnectionFactory(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"));
cf.setBlockOnPersistentSend(true);
- cf.setPreAcknowledge(true);
+ cf.setPreAcknowledge(true);
}
@Override
@@ -95,12 +97,12 @@
}
server = null;
}
-
+
server = null;
jmsServer = null;
cf = null;
jBossQueue = null;
-
+
super.tearDown();
}
@@ -144,7 +146,7 @@
producer.setTimeToLive(1);
producer.send(textMessage);
}
-
+
conn.start();
for (int i = 0; i < noOfMessages; i++)
{
@@ -157,4 +159,45 @@
assertEquals(0, ((Queue)server.getPostOffice().getBinding(queueName).getBindable()).getMessageCount());
conn.close();
}
+
+ public void testClearExceptionListener() throws Exception
+ {
+ Connection conn = cf.createConnection();
+ Session session = conn.createSession(false, JBossSession.PRE_ACKNOWLEDGE);
+ jBossQueue = new JBossQueue(Q_NAME);
+ MessageConsumer consumer = session.createConsumer(jBossQueue);
+ consumer.setMessageListener(new MessageListener()
+ {
+ public void onMessage(Message msg)
+ {
+ }
+ });
+
+ consumer.setMessageListener(null);
+ consumer.receiveNoWait();
+ }
+
+ public void testCantReceiveWhenListenerIsSet() throws Exception
+ {
+ Connection conn = cf.createConnection();
+ Session session = conn.createSession(false, JBossSession.PRE_ACKNOWLEDGE);
+ jBossQueue = new JBossQueue(Q_NAME);
+ MessageConsumer consumer = session.createConsumer(jBossQueue);
+ consumer.setMessageListener(new MessageListener()
+ {
+ public void onMessage(Message msg)
+ {
+ }
+ });
+
+ try
+ {
+ consumer.receiveNoWait();
+ fail("Should throw exception");
+ }
+ catch (JMSException e)
+ {
+ //Ok
+ }
+ }
}
More information about the jboss-cvs-commits
mailing list