Index: C:/backyard/activemq/activemq-core/src/test/java/org/apache/activemq/usecases/DurableProducerConsumerBrokerTest.java
===================================================================
--- C:/backyard/activemq/activemq-core/src/test/java/org/apache/activemq/usecases/DurableProducerConsumerBrokerTest.java (revision 0)
+++ C:/backyard/activemq/activemq-core/src/test/java/org/apache/activemq/usecases/DurableProducerConsumerBrokerTest.java (revision 0)
@@ -0,0 +1,48 @@
+/**
+ *
+ */
+package org.apache.activemq.usecases;
+
+import javax.jms.Connection;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.broker.BrokerFactory;
+import org.apache.activemq.broker.BrokerService;
+
+/**
+ * TODO Provide description for DurableProducerConsumerTest.
+ *
+ * @author nsandhu
+ *
+ */
+public class DurableProducerConsumerBrokerTest extends TestSupport {
+ protected BrokerService broker;
+ @Override
+ protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
+ return new ActiveMQConnectionFactory("failover://(tcp://localhost:61616,tcp://someserver:61616)?randomize=false");
+ }
+
+ @Override
+ protected Connection createConnection() throws Exception {
+ Connection rc = super.createConnection();
+ rc.setClientID("C001-002302");
+ return rc;
+ }
+
+ protected void setUp() throws Exception{
+ super.setUp();
+ broker = createBroker();
+ }
+
+ protected BrokerService createBroker() throws Exception{
+ BrokerService service = BrokerFactory.createBroker("xbean:/org/apache/activemq/usecases/journaled.tcp.broker.xml");
+ service.start();
+ return service;
+ }
+
+ public void testStart() throws Exception{
+ Thread.sleep(1000000);
+ broker.stop();
+ }
+
+}
Index: C:/backyard/activemq/activemq-core/src/test/java/org/apache/activemq/usecases/DurableProducerConsumerTest.java
===================================================================
--- C:/backyard/activemq/activemq-core/src/test/java/org/apache/activemq/usecases/DurableProducerConsumerTest.java (revision 0)
+++ C:/backyard/activemq/activemq-core/src/test/java/org/apache/activemq/usecases/DurableProducerConsumerTest.java (revision 0)
@@ -0,0 +1,76 @@
+/**
+ *
+ */
+package org.apache.activemq.usecases;
+
+import java.util.Date;
+
+import javax.jms.Connection;
+import javax.jms.DeliveryMode;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.jms.Topic;
+import javax.jms.TopicSubscriber;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.broker.BrokerFactory;
+import org.apache.activemq.broker.BrokerService;
+
+/**
+ * TODO Provide description for DurableProducerConsumerTest.
+ *
+ * @author nsandhu
+ *
+ */
+public class DurableProducerConsumerTest extends TestSupport {
+
+ @Override
+ protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
+ return new ActiveMQConnectionFactory(
+ "failover://(tcp://localhost:61616,tcp://someserver:61616)?randomize=false");
+ }
+
+ @Override
+ protected Connection createConnection() throws Exception {
+ Connection rc = super.createConnection();
+ rc.setClientID("C001-002302");
+ return rc;
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testProduce() throws Exception {
+
+ Connection connection = createConnection();
+ connection.start();
+ Session session = connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
+
+ // Ensure that consumer will receive messages sent before it was created
+ Topic topic = session.createTopic("testTopic");
+ TopicSubscriber consumer = session.createDurableSubscriber(topic, "topicTester");
+ MessageProducer producer = session.createProducer(topic);
+ producer.setDeliveryMode(DeliveryMode.PERSISTENT);
+ for (int i = 0; i < 100; i++) {
+ producer.send(session.createTextMessage("A test msg @ " + new Date()));
+ }
+ //
+ for (int i = 0; i < 100; i++) {
+ Message msg = consumer.receive(5000);
+ producer.send(session.createTextMessage("A test msg @ " + new Date()));
+ }
+ // Make sure it works when the durable sub is active.
+ for (int i = 0; i < 1500; i++) {
+ producer.send(session.createTextMessage("A test msg @ " + new Date()));
+ if (i == 1300) {
+ System.exit(-2);
+ }
+ }
+ producer.close();
+ consumer.close();
+ }
+
+}
Index: C:/backyard/activemq/activemq-core/src/test/resources/org/apache/activemq/usecases/journaled.tcp.broker.xml
===================================================================
--- C:/backyard/activemq/activemq-core/src/test/resources/org/apache/activemq/usecases/journaled.tcp.broker.xml (revision 0)
+++ C:/backyard/activemq/activemq-core/src/test/resources/org/apache/activemq/usecases/journaled.tcp.broker.xml (revision 0)
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: C:/backyard/activemq/activemq-core/src/test/resources/log4j.properties
===================================================================
--- C:/backyard/activemq/activemq-core/src/test/resources/log4j.properties (revision 582925)
+++ C:/backyard/activemq/activemq-core/src/test/resources/log4j.properties (working copy)
@@ -18,10 +18,11 @@
#
# The logging properties used during tests..
#
-log4j.rootLogger=INFO, out
+log4j.rootLogger=WARN, out
log4j.logger.org.apache.activemq.spring=WARN
-
+log4j.logger.org.apache.activemq.usage=DEBUG, stdout
+#log4j.logger.org.apache.activemq.usecases=DEBUG, stdout
# CONSOLE appender not used by default
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout