Package javax.jms

Examples of javax.jms.TopicConnection


    */
   public void testTopicConnectionFactory() throws Exception
   {
      TopicConnectionFactory qcf =
         (TopicConnectionFactory)ic.lookup("/ConnectionFactory");
      TopicConnection tc = qcf.createTopicConnection();
      tc.close();
   }
View Full Code Here


   }
  
   /** See TCK test: topicconntests.connNotStartedTopicTest */
   public void testCannotReceiveMessageOnStoppedConnection() throws Exception
   {
      TopicConnection conn1 = ((TopicConnectionFactory)cf).createTopicConnection();
      TopicConnection conn2 = ((TopicConnectionFactory)cf).createTopicConnection();
     
      TopicSession sess1 = conn1.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
      TopicSession sess2 = conn2.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
     
      TopicSubscriber sub1 = sess1.createSubscriber(topic1);
      TopicSubscriber sub2 = sess2.createSubscriber(topic1);
     
      conn1.start();
     
      Connection conn3 = cf.createConnection();
     
      Session sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
      MessageProducer prod = sess3.createProducer(topic1);
      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
     
      final int NUM_MESSAGES = 10;
     
      for (int i = 0; i < NUM_MESSAGES; i++)
      {
         TextMessage tm = sess3.createTextMessage("hello");
         prod.send(tm);
      }

      int count = 0;
      while (true)
      {
         TextMessage tm = (TextMessage)sub1.receive(1000);
         if (tm == null)
         {
            break;
         }
         assertEquals("hello", tm.getText());
         count++;
      }
      assertEquals(NUM_MESSAGES, count);

      Message m = sub2.receive(200);
     
      assertNull(m);
     
      conn2.start();
     
      count = 0;
      while (true)
      {
         TextMessage tm = (TextMessage)sub2.receive(200);
         if (tm == null)
         {
            break;
         }
         assertEquals("hello", tm.getText());
         count++;
      }
      assertEquals(NUM_MESSAGES, count);

      log.debug("all messages received by sub2");
     
      conn1.close();
     
      conn2.close();
     
      conn3.close();
     
   }
View Full Code Here

   public void testListSubscriptions() throws Exception
   {
      ServerManagement.deployTopic("TopicSubscriptionList");
      Topic topic = (Topic)ic.lookup("/topic/TopicSubscriptionList");

      TopicConnection conn = null;
     
      try
      {
         conn = cf.createTopicConnection();
  
         conn.setClientID("Client1");
  
         TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

         // Create 2 durable subscription and 2 non-durable subscription
         MessageConsumer cons1 = s.createDurableSubscriber(topic, "SubscriberA");
        
         MessageConsumer cons2 = s.createDurableSubscriber(topic, "SubscriberB", "wibble is null", false);
        
         s.createSubscriber(topic);
        
         s.createSubscriber(topic);
        
         MessageProducer prod = s.createProducer(topic);
         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
        
         // Send a couple of messages
         TextMessage tm1 = s.createTextMessage("message1");
         TextMessage tm2 = s.createTextMessage("message2");
        
         prod.send(tm1);
         prod.send(tm2);
     
         // There should be 4 subscriptions
         ObjectName destObjectName =
            new ObjectName("jboss.messaging.destination:service=Topic,name=TopicSubscriptionList");
        
         List list = (List)ServerManagement.invoke(destObjectName, "listAllSubscriptions", null, null);
        
         assertEquals(4, list.size());
        
         SubscriptionInfo sub1 = (SubscriptionInfo)list.get(0);
         SubscriptionInfo sub2 = (SubscriptionInfo)list.get(1);
         SubscriptionInfo sub3 = (SubscriptionInfo)list.get(2);
         SubscriptionInfo sub4 = (SubscriptionInfo)list.get(3);
        
         assertEquals("Client1", sub1.getClientID());
         assertEquals(-1, sub1.getMaxSize());
         assertEquals(2, sub1.getMessageCount());
         assertEquals(null, sub1.getSelector());
         assertEquals("SubscriberA", sub1.getName());
        
         assertEquals("Client1", sub2.getClientID());
         assertEquals(-1, sub2.getMaxSize());
         assertEquals(2, sub2.getMessageCount());
         assertEquals("wibble is null", sub2.getSelector());
         assertEquals("SubscriberB", sub2.getName());
        

         assertEquals(null, sub3.getClientID());
         assertEquals(-1, sub3.getMaxSize());
         assertEquals(2, sub3.getMessageCount());
         assertEquals(null, sub3.getSelector());
         assertEquals(null, sub3.getName());
        
         assertEquals(null, sub4.getClientID());
         assertEquals(-1, sub4.getMaxSize());
         assertEquals(2, sub4.getMessageCount());
         assertEquals(null, sub4.getSelector());
         assertEquals(null, sub4.getName());
        
         //Now the durable
        
         list = (List)ServerManagement.invoke(destObjectName, "listDurableSubscriptions", null, null);
        
         assertEquals(2, list.size());
        
         sub1 = (SubscriptionInfo)list.get(0);
         sub2 = (SubscriptionInfo)list.get(1);

        
         assertEquals("Client1", sub1.getClientID());
         assertEquals(-1, sub1.getMaxSize());
         assertEquals(2, sub1.getMessageCount());
         assertEquals(null, sub1.getSelector());
         assertEquals("SubscriberA", sub1.getName());
        
         assertEquals("Client1", sub2.getClientID());
         assertEquals(-1, sub2.getMaxSize());
         assertEquals(2, sub2.getMessageCount());
         assertEquals("wibble is null", sub2.getSelector());
         assertEquals("SubscriberB", sub2.getName());
        
         //and the non durable
        
         list = (List)ServerManagement.invoke(destObjectName, "listNonDurableSubscriptions", null, null);
        
         assertEquals(2, list.size());
        
         sub3 = (SubscriptionInfo)list.get(0);
         sub4 = (SubscriptionInfo)list.get(1);
        
         assertEquals(null, sub3.getClientID());
         assertEquals(-1, sub3.getMaxSize());
         assertEquals(2, sub3.getMessageCount());
         assertEquals(null, sub3.getSelector());
         assertEquals(null, sub3.getName());
        
         assertEquals(null, sub4.getClientID());
         assertEquals(-1, sub4.getMaxSize());
         assertEquals(2, sub4.getMessageCount());
         assertEquals(null, sub4.getSelector());
         assertEquals(null, sub4.getName());
        
         cons1.close();
        
         cons2.close();    
        
         s.unsubscribe("SubscriberA");
        
         s.unsubscribe("SubscriberB");
        
         conn.close();
        
         removeAllMessages("TopicSubscriptionList", false, 0);
        
      }
      finally
      {
         if (conn != null)
         {
            conn.close();
         }
     
         ServerManagement.undeployTopic("TopicSubscriptionList");
      }
   }
View Full Code Here

   public void testListSubscriptionsAsHTML() throws Exception
   {
      ServerManagement.deployTopic("TopicSubscriptionList");
      Topic topic = (Topic)ic.lookup("/topic/TopicSubscriptionList");

      TopicConnection conn = null;
     
      try
      {
         conn = cf.createTopicConnection();
  
         conn.setClientID("Client1");
  
         TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

         // Create 2 durable subscription and 2 non-durable subscription
         s.createDurableSubscriber(topic, "SubscriberA");
        
         s.createDurableSubscriber(topic, "SubscriberB", "wibble is null", false);
        
         s.createSubscriber(topic);
        
         s.createSubscriber(topic);
        
         MessageProducer prod = s.createProducer(topic);
         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
        
         // Send a couple of messages
         TextMessage tm1 = s.createTextMessage("message1");
         TextMessage tm2 = s.createTextMessage("message2");
        
         prod.send(tm1);
         prod.send(tm2);
     
         // There should be 4 subscriptions
         ObjectName destObjectName =
            new ObjectName("jboss.messaging.destination:service=Topic,name=TopicSubscriptionList");
        
         String html = (String)ServerManagement.invoke(destObjectName, "listAllSubscriptionsAsHTML", null, null);
        
         assertTrue(html.startsWith("<table width=\"100%\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">"));
         assertTrue(html.endsWith("</table>"));
        
         assertTrue(html.indexOf("SubscriberA") != -1);
         assertTrue(html.indexOf("Client1") != -1);
         assertTrue(html.indexOf("SubscriberB") != -1);
         assertTrue(html.indexOf("wibble is null") != -1);
        
        
         //Now the durable
        
         html = (String)ServerManagement.invoke(destObjectName, "listDurableSubscriptionsAsHTML", null, null);
        
         assertTrue(html.startsWith("<table width=\"100%\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">"));
         assertTrue(html.endsWith("</table>"));
        
         assertTrue(html.indexOf("SubscriberA") != -1);
         assertTrue(html.indexOf("Client1") != -1);
         assertTrue(html.indexOf("SubscriberB") != -1);
         assertTrue(html.indexOf("wibble is null") != -1);
        
         // Now the non durable
        
         html = (String)ServerManagement.invoke(destObjectName, "listNonDurableSubscriptionsAsHTML", null, null);
        
         assertTrue(html.startsWith("<table width=\"100%\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">"));
         assertTrue(html.endsWith("</table>"));
        
         assertFalse(html.indexOf("SubscriberA") != -1);
         assertFalse(html.indexOf("Client1") != -1);
         assertFalse(html.indexOf("SubscriberB") != -1);
         assertFalse(html.indexOf("wibble is null") != -1);
               
      }
      finally
      {
         if (conn != null)
         {
            conn.close();
         }
     
         this.removeAllMessages("TopicSubscriptionList", false, 0);
        
         ServerManagement.undeployTopic("TopicSubscriptionList");
View Full Code Here

 
   public void testListMessages() throws Exception
   {  
      ServerManagement.deployTopic("TopicMessageList");
     
      TopicConnection conn = null;
     
      try
      {
         Topic topic = (Topic)ic.lookup("/topic/TopicMessageList");
  
         conn = cf.createTopicConnection();
  
         conn.setClientID("Client1");
  
         TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer prod = s.createProducer(topic);
         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
  
         MessageConsumer cons = s.createDurableSubscriber(topic, "SubscriberA");
        
         // Send some persistent message
         TextMessage tm1 = s.createTextMessage("message1");
         tm1.setStringProperty("vegetable", "parsnip");
         TextMessage tm2 = s.createTextMessage("message2");
         tm2.setStringProperty("vegetable", "parsnip");
         TextMessage tm3 = s.createTextMessage("message3");
         tm3.setStringProperty("vegetable", "parsnip");
         prod.send(tm1);
         prod.send(tm2);
         prod.send(tm3);
        
         // and some non persistent with a selector
         prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
        
         TextMessage tm4 = s.createTextMessage("message4");
         tm4.setStringProperty("vegetable", "artichoke");
         TextMessage tm5 = s.createTextMessage("message5");
         tm5.setStringProperty("vegetable", "artichoke");
         TextMessage tm6 = s.createTextMessage("message6");
         tm6.setStringProperty("vegetable", "artichoke");
         prod.send(tm4);
         prod.send(tm5);
         prod.send(tm6);
        
         //Give them a little time
         Thread.sleep(3000);
        
         // Start the connection for delivery
         conn.start();
  
         // There should be 1 subscription
         ObjectName destObjectName =
            new ObjectName("jboss.messaging.destination:service=Topic,name=TopicMessageList");
        
         List durableSubs = (List)ServerManagement.invoke(destObjectName, "listDurableSubscriptions", null, null);
        
         assertNotNull(durableSubs);
         assertEquals(1, durableSubs.size());
        
        
         //Note that listing messages DOES NOT list messages that are in the process of being delivered
         //or scheduled
        
         //so we need to close the consumers otherwise the messages will be buffered in them and not
         //visible
        
         cons.close();
          
         String sub1Id = ((SubscriptionInfo)durableSubs.get(0)).getId();
               
         List allMsgs = (List)ServerManagement.invoke(destObjectName, "listAllMessages", new Object[] { sub1Id }, new String[] { "java.lang.String" });
        
         assertNotNull(allMsgs);        
         assertEquals(6, allMsgs.size());
        
         TextMessage rm1 = (TextMessage)allMsgs.get(0);
         TextMessage rm2 = (TextMessage)allMsgs.get(1);
         TextMessage rm3 = (TextMessage)allMsgs.get(2);
         TextMessage rm4 = (TextMessage)allMsgs.get(3);
         TextMessage rm5 = (TextMessage)allMsgs.get(4);
         TextMessage rm6 = (TextMessage)allMsgs.get(5);
        
         assertEquals(tm1.getText(), rm1.getText());
         assertEquals(tm2.getText(), rm2.getText());
         assertEquals(tm3.getText(), rm3.getText());
         assertEquals(tm4.getText(), rm4.getText());
         assertEquals(tm5.getText(), rm5.getText());
         assertEquals(tm6.getText(), rm6.getText());
        
         assertTrue(rm1.getJMSDeliveryMode() == DeliveryMode.PERSISTENT);
         assertTrue(rm2.getJMSDeliveryMode() == DeliveryMode.PERSISTENT);
         assertTrue(rm3.getJMSDeliveryMode() == DeliveryMode.PERSISTENT);        
         assertTrue(rm4.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
         assertTrue(rm5.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
         assertTrue(rm6.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
        
         List durMsgs = (List)ServerManagement.invoke(destObjectName, "listDurableMessages", new Object[] { sub1Id }, new String[] { "java.lang.String" });
        
         assertNotNull(durMsgs);        
         assertEquals(3, durMsgs.size());
        
         rm1 = (TextMessage)durMsgs.get(0);
         rm2 = (TextMessage)durMsgs.get(1);
         rm3 = (TextMessage)durMsgs.get(2);
               
         assertEquals(tm1.getText(), rm1.getText());
         assertEquals(tm2.getText(), rm2.getText());
         assertEquals(tm3.getText(), rm3.getText());
        
         assertTrue(rm1.getJMSDeliveryMode() == DeliveryMode.PERSISTENT);
         assertTrue(rm2.getJMSDeliveryMode() == DeliveryMode.PERSISTENT);
         assertTrue(rm3.getJMSDeliveryMode() == DeliveryMode.PERSISTENT);                
        
        
         List nondurMsgs = (List)ServerManagement.invoke(destObjectName, "listNonDurableMessages", new Object[] { sub1Id }, new String[] { "java.lang.String" });
        
         assertNotNull(nondurMsgs);        
         assertEquals(3, nondurMsgs.size());
              
         rm4 = (TextMessage)nondurMsgs.get(0);
         rm5 = (TextMessage)nondurMsgs.get(1);
         rm6 = (TextMessage)nondurMsgs.get(2);
                
         assertEquals(tm4.getText(), rm4.getText());
         assertEquals(tm5.getText(), rm5.getText());
         assertEquals(tm6.getText(), rm6.getText());
            
         assertTrue(rm4.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
         assertTrue(rm5.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
         assertTrue(rm6.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
        
         //Now with a selector
        
         String sel = "vegetable='artichoke'";
        
         allMsgs = (List)ServerManagement.invoke(destObjectName, "listAllMessages", new Object[] { sub1Id, sel }, new String[] { "java.lang.String", "java.lang.String" });
        
         assertNotNull(allMsgs);        
         assertEquals(3, allMsgs.size());
        
         rm4 = (TextMessage)allMsgs.get(0);
         rm5 = (TextMessage)allMsgs.get(1);
         rm6 = (TextMessage)allMsgs.get(2);
        
         assertEquals(tm4.getText(), rm4.getText());
         assertEquals(tm5.getText(), rm5.getText());
         assertEquals(tm6.getText(), rm6.getText());
           
         assertTrue(rm4.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
         assertTrue(rm5.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
         assertTrue(rm6.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
                 
         durMsgs = (List)ServerManagement.invoke(destObjectName, "listDurableMessages", new Object[] { sub1Id, sel }, new String[] { "java.lang.String" , "java.lang.String" });
        
         assertNotNull(durMsgs);        
         assertEquals(0, durMsgs.size());
        
        
         nondurMsgs = (List)ServerManagement.invoke(destObjectName, "listNonDurableMessages", new Object[] { sub1Id, sel }, new String[] { "java.lang.String", "java.lang.String" });
        
         assertNotNull(nondurMsgs);        
         assertEquals(3, nondurMsgs.size());
              
         rm4 = (TextMessage)nondurMsgs.get(0);
         rm5 = (TextMessage)nondurMsgs.get(1);
         rm6 = (TextMessage)nondurMsgs.get(2);
                
         assertEquals(tm4.getText(), rm4.getText());
         assertEquals(tm5.getText(), rm5.getText());
         assertEquals(tm6.getText(), rm6.getText());
            
         assertTrue(rm4.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
         assertTrue(rm5.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);
         assertTrue(rm6.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT);                 
        
      }
      finally
      {
         if (conn != null)
         {
            conn.close();
         }
        
         this.removeAllMessages("TopicMessageList", false, 0);
        
         ServerManagement.undeployTopic("TopicMessageList");
View Full Code Here

     
      try
      {
         Topic topic = (Topic)ic.lookup("/topic/TopicRemoveAllMessages");
  
         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 1 non-durable subscription
         s.createDurableSubscriber(topic, "Durable1");
         s.createSubscriber(topic);
        
         // Send 1 message
         prod.send(s.createTextMessage("First one"));        
        
         ObjectName destObjectName =
            new ObjectName("jboss.messaging.destination:service=Topic,name=TopicRemoveAllMessages");
        
         int count = ((Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount")).intValue();
        
         assertEquals(2, count);
        
         // Start the connection for delivery
         conn.start();
        
         // Remove all messages from the topic
        
         //Need to pause since delivery may still be in progress
         Thread.sleep(2000);
        
         count = ((Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount")).intValue();
        
         //Note we only keep track of deliveries for DURABLE subs so count should be 1
         //no durable are effectively acked immediately
        
         assertEquals(1, count);
        
         //This should fail since you cannot remove messages if there are deliveries in progress
         try
         {
           ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
           fail();
         }
         catch (Exception e)
         {
           //OK
         }
  
         count = ((Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount")).intValue();
        
         assertEquals(1, count);
                 
         // Now close the connection
         conn.close();
        
         ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
        
         count = ((Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount")).intValue();
        
         assertEquals(0, count);
        
         // Connect again to the same topic
         conn = cf.createTopicConnection();
         conn.setClientID("Client1");
         s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
         prod = s.createProducer(topic);
         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
  
         // Send another message
         prod.send(s.createTextMessage("Second one"));
        
         count = ((Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount")).intValue();
        
         assertEquals(1, count);

         // Start the connection for delivery
         conn.start();
        
         conn.close();
        
         // Remove all messages from the topic
         ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
  
         count = ((Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount")).intValue();
        
         assertEquals(0, count);
        
         // Clean-up
         conn.close();
      }
      finally
      {        
         ServerManagement.undeployTopic("TopicRemoveAllMessages");
      }
View Full Code Here

   {
      ServerManagement.deployTopic("TopicGetAllMessageCount");
     
      ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
     
      TopicConnection conn = null;
           
      try
      {                 
         Topic topic = (Topic)ic.lookup("/topic/TopicGetAllMessageCount");
  
         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 a couple of messages
         TextMessage tm1 = s.createTextMessage("message1");
         TextMessage tm2 = s.createTextMessage("message2");
        
         prod.send(tm1);
         prod.send(tm2);
  
         // There should be 3 subscriptions
         ObjectName destObjectName =
            new ObjectName("jboss.messaging.destination:service=Topic,name=TopicGetAllMessageCount");
        
         Integer count = (Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount");
         assertEquals(6, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "DurableMessageCount");
         assertEquals(2, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "NonDurableMessageCount");
         assertEquals(4, count.intValue());
                 
         // Now disconnect
         conn.close();
        
         // Only the durable should survive
         count = (Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount");
         assertEquals(2, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "DurableMessageCount");
         assertEquals(2, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "NonDurableMessageCount");
         assertEquals(0, count.intValue());
        
         // Now connect again and restore the durable subscription
         conn = cf.createTopicConnection();
         conn.setClientID("Client1");
         s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageConsumer cons = s.createDurableSubscriber(topic, "SubscriberA");
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount");
         assertEquals(2, count.intValue());
  
         // Now create another durable subscription
         s.createDurableSubscriber(topic, "SubscriberB");
        
         //Now consume
        
         conn.start();
        
         TextMessage rm1 = (TextMessage)cons.receive(500);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         TextMessage rm2 = (TextMessage)cons.receive(500);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         Message m = cons.receive(500);
         assertNull(m);
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount");
         assertEquals(0, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "DurableMessageCount");
         assertEquals(0, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "NonDurableMessageCount");
         assertEquals(0, count.intValue());
        
      }
      finally
      {
         if (conn != null)
         {
            conn.close();
         }
         ServerManagement.undeployTopic("TopicGetAllMessageCount");
        
         ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
      }
View Full Code Here

   public void testSubscriptionsCount() throws Exception
   {
      ServerManagement.deployTopic("TopicSubscriptionsCount");
     
      TopicConnection conn = null;
           
      try
      {
         Topic topic = (Topic)ic.lookup("/topic/TopicSubscriptionsCount");
  
         conn = cf.createTopicConnection();
  
         conn.setClientID("Client1");
  
         TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

         // Create 2 durable subscription and 4 non-durable subscription
         s.createDurableSubscriber(topic, "SubscriberA");
         s.createDurableSubscriber(topic, "SubscriberB");
        
         s.createSubscriber(topic);
         s.createSubscriber(topic);
         s.createSubscriber(topic);
         s.createSubscriber(topic);
  
         // There should be 6 subscriptions
         ObjectName destObjectName =
            new ObjectName("jboss.messaging.destination:service=Topic,name=TopicSubscriptionsCount");
        
         Integer count = (Integer)ServerManagement.getAttribute(destObjectName, "AllSubscriptionsCount");
         assertEquals(6, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "DurableSubscriptionsCount");
         assertEquals(2, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "NonDurableSubscriptionsCount");
         assertEquals(4, count.intValue());
        
               
         // Now disconnect
         conn.close();
        
         // Only the durable should survive
         count = (Integer)ServerManagement.getAttribute(destObjectName, "AllSubscriptionsCount");
         assertEquals(2, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "DurableSubscriptionsCount");
         assertEquals(2, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "NonDurableSubscriptionsCount");
         assertEquals(0, count.intValue());
        
        
         // Now connect again and restore the durable subscription
         conn = cf.createTopicConnection();
         conn.setClientID("Client1");
         s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
         s.createDurableSubscriber(topic, "SubscriberA");
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "AllSubscriptionsCount");
         assertEquals(2, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "DurableSubscriptionsCount");
         assertEquals(2, count.intValue());
        
         count = (Integer)ServerManagement.getAttribute(destObjectName, "NonDurableSubscriptionsCount");
         assertEquals(0, count.intValue());
        
      }
      finally
      {
         if (conn != null)
         {
            conn.close();
         }
         ServerManagement.undeployTopic("TopicSubscriptionsCount");
      }
   }
View Full Code Here

    */
   public void testQueueConnection2() throws Exception
   {
      TopicConnectionFactory tcf = (TopicConnectionFactory)cf;

      TopicConnection tc = tcf.createTopicConnection();

      tc.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

      tc.close();

   }
View Full Code Here

    */
   public void testQueueConnection2() throws Exception
   {
      TopicConnectionFactory tcf = (TopicConnectionFactory)cf;

      TopicConnection tc = tcf.createTopicConnection();

      tc.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

      tc.close();

   }
View Full Code Here

TOP

Related Classes of javax.jms.TopicConnection

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.