[jboss-cvs] jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination ...
Timothy Fox
tim.fox at jboss.com
Mon Jul 17 13:14:52 EDT 2006
User: timfox
Date: 06/07/17 13:14:52
Modified: tests/src/org/jboss/test/messaging/jms/server/destination
QueueManagementTest.java TopicManagementTest.java
Log:
Many changes including implementation of prefetch, SEDAisation of server, changing of recovery
Revision Changes Path
1.10 +148 -125 jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: QueueManagementTest.java
===================================================================
RCS file: /cvsroot/jboss/jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- QueueManagementTest.java 24 Jun 2006 09:05:40 -0000 1.9
+++ QueueManagementTest.java 17 Jul 2006 17:14:52 -0000 1.10
@@ -42,9 +42,10 @@
* Tests a queue's management interface.
*
* @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
- * @version <tt>$Revision: 1.9 $</tt>
+ * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ * @version <tt>$Revision: 1.10 $</tt>
*
- * $Id: QueueManagementTest.java,v 1.9 2006/06/24 09:05:40 timfox Exp $
+ * $Id: QueueManagementTest.java,v 1.10 2006/07/17 17:14:52 timfox Exp $
*/
public class QueueManagementTest extends DestinationManagementTestBase
{
@@ -176,6 +177,9 @@
ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployQueue("QueueMessageCount");
+
+ try
+ {
Queue queue = (Queue)ic.lookup("/queue/QueueMessageCount");
// Test MessageCount, should be 0 msg
@@ -211,9 +215,13 @@
// Test MessageCount again, should be 0 msg
count = (Integer)ServerManagement.getAttribute(destObjectName, "MessageCount");
assertEquals(0, count.intValue());
+ }
+ finally
+ {
ServerManagement.undeployQueue("QueueMessageCount");
}
+ }
// TODO this test should be done in DestinationManagementTestBase, once implemented in Topic
// TODO this only tests reliable non-tx messages
@@ -223,6 +231,9 @@
ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployQueue("QueueRemoveMessages");
+
+ try
+ {
Queue queue = (Queue)ic.lookup("/queue/QueueRemoveMessages");
// Send 1 message to queue
@@ -257,11 +268,15 @@
Object ms = cons.receive();
assertTrue(ms instanceof TextMessage);
assertEquals(((TextMessage)ms).getText(), MESSAGE_TWO);
+ Thread.sleep(500);
assertNull(cons.receiveNoWait());
conn.close();
-
+ }
+ finally
+ {
ServerManagement.undeployQueue("QueueRemoveMessages");
}
+ }
public void testListMessages() throws Exception
{
@@ -269,6 +284,10 @@
ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployQueue("QueueListMessages");
+
+ try
+ {
+
Queue queue = (Queue)ic.lookup("/queue/QueueListMessages");
// Test listMessages, should be 0 msg
@@ -320,9 +339,13 @@
new Object[] {null},
new String[] {"java.lang.String"});
assertEquals(0, list.size());
+ }
+ finally
+ {
ServerManagement.undeployQueue("QueueListMessages");
}
+ }
/**
* The jmx-console has the habit of sending an empty string if no argument is specified, so
1.18 +597 -525 jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TopicManagementTest.java
===================================================================
RCS file: /cvsroot/jboss/jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- TopicManagementTest.java 24 Jun 2006 09:05:40 -0000 1.17
+++ TopicManagementTest.java 17 Jul 2006 17:14:52 -0000 1.18
@@ -48,9 +48,10 @@
* Tests a topic's management interface.
*
* @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
- * @version <tt>$Revision: 1.17 $</tt>
+ * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ * @version <tt>$Revision: 1.18 $</tt>
*
- * $Id: TopicManagementTest.java,v 1.17 2006/06/24 09:05:40 timfox Exp $
+ * $Id: TopicManagementTest.java,v 1.18 2006/07/17 17:14:52 timfox Exp $
*/
public class TopicManagementTest extends DestinationManagementTestBase
{
@@ -91,6 +92,9 @@
ObjectName destObjectName = deploy(config);
+ try
+ {
+
assertEquals("ReloadTopic", ServerManagement.getAttribute(destObjectName, "Name"));
String jndiName = "/topic/ReloadTopic";
@@ -181,9 +185,12 @@
}
conn.close();
-
+ }
+ finally
+ {
undeployDestination("ReloadTopic");
}
+ }
/**
* Test subscriptionCount() and subscriptionCount(boolean durable).
@@ -195,6 +202,9 @@
TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployTopic("TopicSubscription");
+
+ try
+ {
Topic topic = (Topic)ic.lookup("/topic/TopicSubscription");
TopicConnection conn = cf.createTopicConnection();
@@ -308,8 +318,13 @@
new String[] {"boolean"});
assertEquals(0, nonduraCount.intValue());
+ }
+ finally
+ {
+
ServerManagement.undeployTopic("TopicSubscription");
}
+ }
/**
* XXX Placeholder
@@ -411,6 +426,9 @@
TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployTopic("TopicSubscriptionListAsText");
+
+ try
+ {
Topic topic = (Topic)ic.lookup("/topic/TopicSubscriptionListAsText");
TopicConnection conn = cf.createTopicConnection();
@@ -500,10 +518,13 @@
new String[] {"boolean"});
nonDurableStart = text.indexOf("Non-durable");
assertTrue(-1 == nonDurableStart);
-
+ }
+ finally
+ {
ServerManagement.undeployTopic("TopicSubscriptionListAsText");
ServerManagement.undeployTopic("TopicSubscription");
}
+ }
/**
* Test removeAllMessages().
@@ -515,6 +536,9 @@
TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployTopic("TopicRemoveAllMessages");
+
+ try
+ {
Topic topic = (Topic)ic.lookup("/topic/TopicRemoveAllMessages");
TopicConnection conn = cf.createTopicConnection();
@@ -532,17 +556,37 @@
// Send 1 message
prod.send(s.createTextMessage("First one"));
+ ObjectName destObjectName =
+ new ObjectName("jboss.messaging.destination:service=Topic,name=TopicRemoveAllMessages");
+ List listMsg = (List)ServerManagement.invoke(destObjectName,
+ "listMessagesDurableSub",
+ new Object[] {"Durable1", "Client1", null},
+ new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});
+ assertEquals(1, listMsg.size());
+
+ //TODO - Why the heck isn't there a messageCount method on the subscription
+ //like there is on queue??????????
+
// Start the connection for delivery
conn.start();
// Remove all messages from the topic
- ObjectName destObjectName =
- new ObjectName("jboss.messaging.destination:service=Topic,name=TopicRemoveAllMessages");
+
ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
// Try to receive messages from the two subscriptions, should be null
- assertNull(tsDurable.receiveNoWait());
- assertNull(tsNonDurable.receiveNoWait());
+
+ //This is not valid - the messages will already be in the consumer endpoints and
+ //possibly the client consumers
+// assertNull(tsDurable.receiveNoWait());
+// assertNull(tsNonDurable.receiveNoWait());
+
+ listMsg = (List)ServerManagement.invoke(destObjectName,
+ "listMessagesDurableSub",
+ new Object[] {"Durable1", "Client1", null},
+ new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});
+ assertEquals(0, listMsg.size());
+
// Now close the connection
conn.close();
@@ -557,6 +601,12 @@
// Send another message
prod.send(s.createTextMessage("Second one"));
+ listMsg = (List)ServerManagement.invoke(destObjectName,
+ "listMessagesDurableSub",
+ new Object[] {"Durable1", "Client1", null},
+ new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});
+ assertEquals(1, listMsg.size());
+
// Start the connection for delivery
conn.start();
@@ -565,12 +615,22 @@
// Restore the durable subscription now, the message should be already gone
tsDurable = s.createDurableSubscriber(topic, "Durable1");
- assertNull(tsDurable.receiveNoWait());
+ //assertNull(tsDurable.receiveNoWait());
+
+ listMsg = (List)ServerManagement.invoke(destObjectName,
+ "listMessagesDurableSub",
+ new Object[] {"Durable1", "Client1", null},
+ new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});
+ assertEquals(0, listMsg.size());
// Clean-up
conn.close();
+ }
+ finally
+ {
ServerManagement.undeployTopic("TopicRemoveAllMessages");
}
+ }
public void testListMessages() throws Exception
{
@@ -580,6 +640,9 @@
TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployTopic("TopicMessageList");
+
+ try
+ {
Topic topic = (Topic)ic.lookup("/topic/TopicMessageList");
TopicConnection conn = cf.createTopicConnection();
@@ -616,8 +679,6 @@
assertTrue(listMsg.get(0) instanceof TextMessage);
assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
- log.info(strSub);
-
// Non-durable sub 1
int ptr1 = strSub.indexOf("Non-durable, subscriptionID=\"");
int ptr2 = strSub.indexOf("\"", ptr1 + 30);
@@ -662,88 +723,92 @@
// Clean-up
conn.close();
- ServerManagement.undeployTopic("TopicMessageList");
-
- ServerManagement.undeployTopic("TopicSubscriptionListAsText");
}
-
- /*
- * XXX Placeholder
- *
- public void testListMessages() throws Exception
+ finally
{
- InitialContext ic = new InitialContext(ServerManagement.getJNDIEnvironment());
- TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
-
- ServerManagement.deployTopic("TopicMessageList");
- Topic topic = (Topic)ic.lookup("/topic/TopicMessageList");
-
- TopicConnection conn = cf.createTopicConnection();
-
- conn.setClientID("Client1");
-
- TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
- MessageProducer prod = s.createProducer(topic);
- prod.setDeliveryMode(DeliveryMode.PERSISTENT);
-
- // Create 1 durable subscription and 2 non-durable subscription
- s.createDurableSubscriber(topic, "SubscriberA");
-
- s.createSubscriber(topic);
- s.createSubscriber(topic);
-
- // Send 1 message
- prod.send(s.createTextMessage("First one"));
-
- // Start the connection for delivery
- conn.start();
+ ServerManagement.undeployTopic("TopicMessageList");
- // There should be 3 subscriptions
- ObjectName destObjectName =
- new ObjectName("jboss.messaging.destination:service=Topic,name=TopicMessageList");
- List listSub = (List)ServerManagement.invoke(destObjectName, "listSubscriptions", null, null);
- assertEquals(3, listSub.size());
- // Each subscription will have the same message
- for (int i = 0; i < 3; i++)
- {
- String[] strs = (String[])listSub.get(i);
- List listMsg = (List)ServerManagement.invoke(destObjectName,
- "listMessages",
- new Object[] {new Long(strs[0]), strs[1], strs[2], null},
- new String[] {"long", "java.lang.String", "java.lang.String", "java.lang.String"});
- assertEquals(1, listMsg.size());
- assertTrue(listMsg.get(0) instanceof TextMessage);
- assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
+ ServerManagement.undeployTopic("TopicSubscriptionListAsText");
}
-
- // Send another message
- prod.send(s.createTextMessage("Second one"));
-
- // There should be 1 durable subscription
- List duraListSub = (List)ServerManagement.invoke(
- destObjectName,
- "listSubscriptions",
- new Object[] {Boolean.TRUE},
- new String[] {"boolean"});
- assertEquals(1, duraListSub.size());
- String[] strs = (String[])duraListSub.get(0);
- // The durable subscription has 2 messages
- List listMsg = (List)ServerManagement.invoke(destObjectName,
- "listMessages",
- new Object[] {new Long(strs[0]), strs[1], strs[2], null},
- new String[] {"long", "java.lang.String", "java.lang.String", "java.lang.String"});
- assertEquals(2, listMsg.size());
- assertTrue(listMsg.get(0) instanceof TextMessage);
- assertTrue(listMsg.get(1) instanceof TextMessage);
- assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
- assertEquals(((TextMessage)listMsg.get(1)).getText(), "Second one");
-
- // Clean-up
- conn.close();
- ServerManagement.undeployTopic("TopicMessageList");
}
- */
+// /*
+// * XXX Placeholder
+// *
+// public void testListMessages() throws Exception
+// {
+// InitialContext ic = new InitialContext(ServerManagement.getJNDIEnvironment());
+// TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
+//
+// ServerManagement.deployTopic("TopicMessageList");
+// Topic topic = (Topic)ic.lookup("/topic/TopicMessageList");
+//
+// TopicConnection conn = cf.createTopicConnection();
+//
+// conn.setClientID("Client1");
+//
+// TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
+// MessageProducer prod = s.createProducer(topic);
+// prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+//
+// // Create 1 durable subscription and 2 non-durable subscription
+// s.createDurableSubscriber(topic, "SubscriberA");
+//
+// s.createSubscriber(topic);
+// s.createSubscriber(topic);
+//
+// // Send 1 message
+// prod.send(s.createTextMessage("First one"));
+//
+// // Start the connection for delivery
+// conn.start();
+//
+// // There should be 3 subscriptions
+// ObjectName destObjectName =
+// new ObjectName("jboss.messaging.destination:service=Topic,name=TopicMessageList");
+// List listSub = (List)ServerManagement.invoke(destObjectName, "listSubscriptions", null, null);
+// assertEquals(3, listSub.size());
+// // Each subscription will have the same message
+// for (int i = 0; i < 3; i++)
+// {
+// String[] strs = (String[])listSub.get(i);
+// List listMsg = (List)ServerManagement.invoke(destObjectName,
+// "listMessages",
+// new Object[] {new Long(strs[0]), strs[1], strs[2], null},
+// new String[] {"long", "java.lang.String", "java.lang.String", "java.lang.String"});
+// assertEquals(1, listMsg.size());
+// assertTrue(listMsg.get(0) instanceof TextMessage);
+// assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
+// }
+//
+// // Send another message
+// prod.send(s.createTextMessage("Second one"));
+//
+// // There should be 1 durable subscription
+// List duraListSub = (List)ServerManagement.invoke(
+// destObjectName,
+// "listSubscriptions",
+// new Object[] {Boolean.TRUE},
+// new String[] {"boolean"});
+// assertEquals(1, duraListSub.size());
+// String[] strs = (String[])duraListSub.get(0);
+// // The durable subscription has 2 messages
+// List listMsg = (List)ServerManagement.invoke(destObjectName,
+// "listMessages",
+// new Object[] {new Long(strs[0]), strs[1], strs[2], null},
+// new String[] {"long", "java.lang.String", "java.lang.String", "java.lang.String"});
+// assertEquals(2, listMsg.size());
+// assertTrue(listMsg.get(0) instanceof TextMessage);
+// assertTrue(listMsg.get(1) instanceof TextMessage);
+// assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
+// assertEquals(((TextMessage)listMsg.get(1)).getText(), "Second one");
+//
+// // Clean-up
+// conn.close();
+// ServerManagement.undeployTopic("TopicMessageList");
+// }
+// */
+//
/**
* The jmx-console has the habit of sending an empty string if no argument is specified, so
* we test this eventuality.
@@ -756,6 +821,9 @@
TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployTopic("TopicMessageList2");
+
+ try
+ {
Topic topic = (Topic)ic.lookup("/topic/TopicMessageList2");
TopicConnection conn = cf.createTopicConnection();
@@ -781,9 +849,13 @@
// Clean-up
conn.close();
+ }
+ finally
+ {
ServerManagement.undeployTopic("TopicMessageList2");
ServerManagement.undeployTopic("TopicMessageList");
}
+ }
// Package protected ---------------------------------------------
More information about the jboss-cvs-commits
mailing list