summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java7
-rw-r--r--java/systests/src/main/java/org/apache/qpid/test/client/message/SelectorTest.java124
-rwxr-xr-xjava/test-profiles/010Excludes2
3 files changed, 33 insertions, 100 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
index 9894efed20..4b9fc9ca55 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
@@ -1338,7 +1338,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
* Looks up the next node for the subscription and attempts to deliver it.
*
* @param sub
- * @return
+ * @return true if we have completed all possible deliveries for this sub.
* @throws AMQException
*/
private boolean attemptDelivery(Subscription sub) throws AMQException
@@ -1349,7 +1349,10 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
if (subActive)
{
QueueEntry node = moveSubscriptionToNextNode(sub);
- _logger.debug(sub + ": attempt delivery: " + node.debugIdentity());
+ if (_logger.isDebugEnabled())
+ {
+ _logger.debug(sub + ": attempting Delivery: " + node.debugIdentity());
+ }
if (!(node.isAcquired() || node.isDeleted()))
{
if (sub.hasInterest(node))
diff --git a/java/systests/src/main/java/org/apache/qpid/test/client/message/SelectorTest.java b/java/systests/src/main/java/org/apache/qpid/test/client/message/SelectorTest.java
index d76d3858b3..1ec39bd1e0 100644
--- a/java/systests/src/main/java/org/apache/qpid/test/client/message/SelectorTest.java
+++ b/java/systests/src/main/java/org/apache/qpid/test/client/message/SelectorTest.java
@@ -22,9 +22,7 @@ package org.apache.qpid.test.client.message;
import java.util.concurrent.CountDownLatch;
-import javax.jms.Connection;
import javax.jms.DeliveryMode;
-import javax.jms.Destination;
import javax.jms.InvalidSelectorException;
import javax.jms.JMSException;
import javax.jms.Message;
@@ -35,15 +33,12 @@ import javax.jms.Session;
import junit.framework.Assert;
-import org.apache.log4j.BasicConfigurator;
-import org.apache.qpid.AMQException;
import org.apache.qpid.client.AMQConnection;
import org.apache.qpid.client.AMQDestination;
import org.apache.qpid.client.AMQQueue;
import org.apache.qpid.client.AMQSession;
import org.apache.qpid.client.BasicMessageProducer;
import org.apache.qpid.test.utils.QpidTestCase;
-import org.apache.qpid.url.URLSyntaxException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,7 +48,6 @@ public class SelectorTest extends QpidTestCase implements MessageListener
private AMQConnection _connection;
private AMQDestination _destination;
- private AMQSession _session;
private int count;
public String _connectionString = "vm://:1";
private static final String INVALID_SELECTOR = "Cost LIKE 5";
@@ -66,40 +60,12 @@ public class SelectorTest extends QpidTestCase implements MessageListener
protected void setUp() throws Exception
{
super.setUp();
- BasicConfigurator.configure();
init((AMQConnection) getConnection("guest", "guest"));
}
- protected void tearDown() throws Exception
- {
- super.tearDown();
- if (_session != null)
- {
- try
- {
- _session.close();
- }
- catch (JMSException e)
- {
- fail("Error cleaning up:" + e.getMessage());
- }
- }
- if (_connection != null)
- {
- try
- {
- _connection.close();
- }
- catch (JMSException e)
- {
- fail("Error cleaning up:" + e.getMessage());
- }
- }
- }
-
private void init(AMQConnection connection) throws JMSException
{
- init(connection, new AMQQueue(connection, randomize("SessionStartTest"), true));
+ init(connection, new AMQQueue(connection, getTestQueueName(), true));
}
private void init(AMQConnection connection, AMQDestination destination) throws JMSException
@@ -107,23 +73,27 @@ public class SelectorTest extends QpidTestCase implements MessageListener
_connection = connection;
_destination = destination;
connection.start();
+ }
+
+ public void onMessage(Message message)
+ {
+ count++;
+ _logger.info("Got Message:" + message);
+ _responseLatch.countDown();
+ }
- String selector = null;
- selector = "Cost = 2 AND \"property-with-hyphen\" = 'wibble'";
+ public void testUsingOnMessage() throws Exception
+ {
+ String selector = "Cost = 2 AND \"property-with-hyphen\" = 'wibble'";
// selector = "JMSType = Special AND Cost = 2 AND AMQMessageID > 0 AND JMSDeliveryMode=" + DeliveryMode.NON_PERSISTENT;
- _session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE);
+ Session session = (AMQSession) _connection.createSession(false, AMQSession.NO_ACKNOWLEDGE);
// _session.createConsumer(destination).setMessageListener(this);
- _session.createConsumer(destination, selector).setMessageListener(this);
- }
+ session.createConsumer(_destination, selector).setMessageListener(this);
- public void test() throws Exception
- {
try
{
- init((AMQConnection) getConnection("guest", "guest", randomize("Client")));
-
- Message msg = _session.createTextMessage("Message");
+ Message msg = session.createTextMessage("Message");
msg.setJMSPriority(1);
msg.setIntProperty("Cost", 2);
msg.setStringProperty("property-with-hyphen", "wibble");
@@ -131,7 +101,7 @@ public class SelectorTest extends QpidTestCase implements MessageListener
_logger.info("Sending Message:" + msg);
- ((BasicMessageProducer) _session.createProducer(_destination)).send(msg, DeliveryMode.NON_PERSISTENT);
+ ((BasicMessageProducer) session.createProducer(_destination)).send(msg, DeliveryMode.NON_PERSISTENT);
_logger.info("Message sent, waiting for response...");
_responseLatch.await();
@@ -163,40 +133,18 @@ public class SelectorTest extends QpidTestCase implements MessageListener
{
_logger.debug("IE :" + e.getClass().getSimpleName() + ":" + e.getMessage());
}
- catch (URLSyntaxException e)
- {
- _logger.debug("URL:" + e.getClass().getSimpleName() + ":" + e.getMessage());
- fail("Wrong exception");
- }
- catch (AMQException e)
- {
- _logger.debug("AMQ:" + e.getClass().getSimpleName() + ":" + e.getMessage());
- fail("Wrong exception");
- }
- finally
- {
- if (_session != null)
- {
- _session.close();
- }
- if (_connection != null)
- {
- _connection.close();
- }
- }
}
public void testUnparsableSelectors() throws Exception
{
- Connection connection = getConnection("guest", "guest", randomize("Client"));
- _session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE);
+ AMQSession session = (AMQSession) _connection.createSession(false, AMQSession.NO_ACKNOWLEDGE);
boolean caught = false;
//Try Creating a Browser
try
{
- _session.createBrowser(_session.createQueue("Ping"), INVALID_SELECTOR);
+ session.createBrowser(session.createQueue("Ping"), INVALID_SELECTOR);
}
catch (JMSException e)
{
@@ -213,7 +161,7 @@ public class SelectorTest extends QpidTestCase implements MessageListener
//Try Creating a Consumer
try
{
- _session.createConsumer(_session.createQueue("Ping"), INVALID_SELECTOR);
+ session.createConsumer(session.createQueue("Ping"), INVALID_SELECTOR);
}
catch (JMSException e)
{
@@ -230,7 +178,7 @@ public class SelectorTest extends QpidTestCase implements MessageListener
//Try Creating a Receiever
try
{
- _session.createReceiver(_session.createQueue("Ping"), INVALID_SELECTOR);
+ session.createReceiver(session.createQueue("Ping"), INVALID_SELECTOR);
}
catch (JMSException e)
{
@@ -246,7 +194,7 @@ public class SelectorTest extends QpidTestCase implements MessageListener
try
{
- _session.createReceiver(_session.createQueue("Ping"), BAD_MATHS_SELECTOR);
+ session.createReceiver(session.createQueue("Ping"), BAD_MATHS_SELECTOR);
}
catch (JMSException e)
{
@@ -264,9 +212,10 @@ public class SelectorTest extends QpidTestCase implements MessageListener
public void testRuntimeSelectorError() throws JMSException
{
- MessageConsumer consumer = _session.createConsumer(_destination , "testproperty % 5 = 1");
- MessageProducer producer = _session.createProducer(_destination);
- Message sentMsg = _session.createTextMessage();
+ Session session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageConsumer consumer = session.createConsumer(_destination , "testproperty % 5 = 1");
+ MessageProducer producer = session.createProducer(_destination);
+ Message sentMsg = session.createTextMessage();
sentMsg.setIntProperty("testproperty", 1); // 1 % 5
producer.send(sentMsg);
@@ -289,9 +238,7 @@ public class SelectorTest extends QpidTestCase implements MessageListener
public void testSelectorWithJMSMessageID() throws Exception
{
- Connection conn = getConnection();
- conn.start();
- Session session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
+ Session session = _connection.createSession(true, Session.SESSION_TRANSACTED);
MessageProducer prod = session.createProducer(_destination);
MessageConsumer consumer = session.createConsumer(_destination,"JMSMessageID IS NOT NULL");
@@ -332,18 +279,6 @@ public class SelectorTest extends QpidTestCase implements MessageListener
Assert.assertNotNull("Msg5 should not be null", msg5);
}
- public void onMessage(Message message)
- {
- count++;
- _logger.info("Got Message:" + message);
- _responseLatch.countDown();
- }
-
- private static String randomize(String in)
- {
- return in + System.currentTimeMillis();
- }
-
public static void main(String[] argv) throws Exception
{
SelectorTest test = new SelectorTest();
@@ -357,7 +292,7 @@ public class SelectorTest extends QpidTestCase implements MessageListener
{
test.setUp();
}
- test.test();
+ test.testUsingOnMessage();
if (test._connectionString.contains("vm://:1"))
{
@@ -371,9 +306,4 @@ public class SelectorTest extends QpidTestCase implements MessageListener
e.printStackTrace();
}
}
-
- public static junit.framework.Test suite()
- {
- return new junit.framework.TestSuite(SelectorTest.class);
- }
}
diff --git a/java/test-profiles/010Excludes b/java/test-profiles/010Excludes
index 5814a2844a..d27a3bca95 100755
--- a/java/test-profiles/010Excludes
+++ b/java/test-profiles/010Excludes
@@ -94,5 +94,5 @@ org.apache.qpid.test.unit.close.JavaServerCloseRaceConditionTest#*
org.apache.qpid.test.unit.client.DynamicQueueExchangeCreateTest#*
// QPID-2118 : 0-10 Java client has differrent error handling to 0-8 code path
-org.apache.qpid.test.client.message.SelectorTest#testSelectorWithJMSMessageID
org.apache.qpid.test.client.message.SelectorTest#testRuntimeSelectorError
+