Examples of MessageCounter


Examples of org.jboss.jms.server.messagecounter.MessageCounter

            {
               //Use override on server peer
               dayLimitToUse = sp.getDefaultMessageCounterHistoryDayLimit();
            }
           
            MessageCounter counter =
               new MessageCounter(counterName, null, q, true, false,
                                  dayLimitToUse);
           
            sp.getMessageCounterManager().registerMessageCounter(counterName, counter);
         }
         else
         {
            if (jmsDestination.isTemporary())
            {
               throw new InvalidDestinationException("Cannot create a durable subscription on a temporary topic");
            }
           
            // We have a durable subscription, look it up
            String clientID = connectionEndpoint.getClientID();
            if (clientID == null)
            {
               throw new JMSException("Cannot create durable subscriber without a valid client ID");
            }
           
            // See if there any bindings with the same client_id.subscription_name name
           
            String name = MessageQueueNameHelper.createSubscriptionName(clientID, subscriptionName);
           
            binding = postOffice.getBindingForQueueName(name);
           
            if (binding == null)
            {
               // Does not already exist
              
               if (trace) { log.trace(this + " creating new durable subscription on " + jmsDestination); }
                             
               PagingFilteredQueue q;

               if (postOffice.isLocal())
               {
                  q = new PagingFilteredQueue(name, idm.getID(), ms, pm, true, true,
                                              mDest.getMaxSize(), selector,
                                              mDest.getFullSize(),
                                              mDest.getPageSize(),
                                              mDest.getDownCacheSize());

                  binding = postOffice.bindQueue(topicCond, q);
               }
               else
               {
                  q = new LocalClusteredQueue((ClusteredPostOffice)postOffice, nodeId, name, idm.getID(),
                                              ms, pm, true, true,
                                              mDest.getMaxSize(), selector, tr,
                                              mDest.getFullSize(),
                                              mDest.getPageSize(),
                                              mDest.getDownCacheSize());
                 
                  ClusteredPostOffice cpo = (ClusteredPostOffice)postOffice;
                 
                  if (mDest.isClustered())
                  {
                     binding = cpo.bindClusteredQueue(topicCond, (LocalClusteredQueue)q);
                  }
                  else
                  {
                     binding = cpo.bindQueue(topicCond, q);
                  }
               }
               String counterName = TopicService.SUBSCRIPTION_MESSAGECOUNTER_PREFIX + q.getName();
                      
               MessageCounter counter =
                  new MessageCounter(counterName, subscriptionName, q, true, true,
                                     mDest.getMessageCounterHistoryDayLimit());
              
               sp.getMessageCounterManager().registerMessageCounter(counterName, counter);
            }
            else
            {
               //Durable sub already exists
              
               if (trace) { log.trace(this + " subscription " + subscriptionName + " already exists"); }
              
               // From javax.jms.Session Javadoc (and also JMS 1.1 6.11.1):
               // A client can change an existing durable subscription by creating a durable
               // TopicSubscriber with the same name and a new topic and/or message selector.
               // Changing a durable subscriber is equivalent to unsubscribing (deleting) the old
               // one and creating a new one.
              
               String filterString =
                  binding.getQueue().getFilter() != null ?
                     binding.getQueue().getFilter().getFilterString() : null;
              
               boolean selectorChanged =
                  (selectorString == null && filterString != null) ||
                  (filterString == null && selectorString != null) ||
                  (filterString != null && selectorString != null &&
                           !filterString.equals(selectorString));
              
               if (trace) { log.trace("selector " + (selectorChanged ? "has" : "has NOT") + " changed"); }
              
               JMSCondition cond = (JMSCondition)binding.getCondition();
              
               boolean topicChanged = !cond.getName().equals(jmsDestination.getName());
              
               if (log.isTraceEnabled()) { log.trace("topic " + (topicChanged ? "has" : "has NOT") + " changed"); }
              
               if (selectorChanged || topicChanged)
               {
                  if (trace) { log.trace("topic or selector changed so deleting old subscription"); }
                 
                  // Unbind the durable subscription
                 
                  if (mDest.isClustered() && !postOffice.isLocal())
                  {
                     ClusteredPostOffice cpo = (ClusteredPostOffice)postOffice;
                    
                     cpo.unbindClusteredQueue(name);
                  }
                  else
                  {
                     postOffice.unbindQueue(name);
                  }
                 
                  // create a fresh new subscription
                                   
                  PagingFilteredQueue q;
                 
                  if (postOffice.isLocal())
                  {
                     q = new PagingFilteredQueue(name, idm.getID(), ms, pm, true, true,
                              mDest.getMaxSize(), selector,
                              mDest.getFullSize(),
                              mDest.getPageSize(),
                              mDest.getDownCacheSize());
                     binding = postOffice.bindQueue(topicCond, q);
                  }
                  else
                  {
                     q = new LocalClusteredQueue((ClusteredPostOffice)postOffice, nodeId, name, idm.getID(), ms, pm, true, true,
                              mDest.getMaxSize(), selector, tr,
                              mDest.getFullSize(),
                              mDest.getPageSize(),
                              mDest.getDownCacheSize());
                    
                     ClusteredPostOffice cpo = (ClusteredPostOffice)postOffice;
                    
                     if (mDest.isClustered())
                     {
                        binding = cpo.bindClusteredQueue(topicCond, (LocalClusteredQueue)q);
                     }
                     else
                     {
                        binding = cpo.bindQueue(topicCond, (LocalClusteredQueue)q);
                     }
                  }
                  String counterName = TopicService.SUBSCRIPTION_MESSAGECOUNTER_PREFIX + q.getName();
                 
                  MessageCounter counter =
                     new MessageCounter(counterName, subscriptionName, q, true, true,
                                        mDest.getMessageCounterHistoryDayLimit());
                 
                  sp.getMessageCounterManager().registerMessageCounter(counterName, counter);
               }
            }
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

                  postOffice.unbindQueue(dest.getName());
                 
                  String counterName =
                     ServerSessionEndpoint.TEMP_QUEUE_MESSAGECOUNTER_PREFIX + dest.getName();
                 
                  MessageCounter counter =
                     serverPeer.getMessageCounterManager().unregisterMessageCounter(counterName);
                 
                  if (counter == null)
                  {
                     throw new IllegalStateException(
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

               ((ClusteredPostOffice)postOffice).unbindClusteredQueue(queue.getName());
            }

            String counterName = TopicService.SUBSCRIPTION_MESSAGECOUNTER_PREFIX + queueName;

            MessageCounter counter = sessionEndpoint.getConnectionEndpoint()
                     .getServerPeer().getMessageCounterManager()
                     .unregisterMessageCounter(counterName);

            if (counter == null)
            {
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

        
         Queue queue = binding.getQueue();
        
         String counterName = TopicService.SUBSCRIPTION_MESSAGECOUNTER_PREFIX + queue.getName();
        
         MessageCounter counter = serverPeer.getMessageCounterManager().getMessageCounter(counterName);
        
         if (counter == null)
         {
            throw new IllegalStateException("Cannot find counter with name " + counterName);
         }
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

         {
            //Use override on server peer
            dayLimitToUse = serverPeer.getDefaultMessageCounterHistoryDayLimit();
         }
        
         MessageCounter counter =
            new MessageCounter(counterName, null, queue, false, false,
                               dayLimitToUse);
        
         ((ManagedQueue)destination).setMessageCounter(counter);
                 
         serverPeer.getMessageCounterManager().registerMessageCounter(counterName, counter);
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

        
         Queue queue = ((ManagedQueue)destination).getQueue();
        
         String counterName = QUEUE_MESSAGECOUNTER_PREFIX + destination.getName();
                 
         MessageCounter counter = serverPeer.getMessageCounterManager().unregisterMessageCounter(counterName);
        
         if (counter == null)
         {
            throw new IllegalStateException("Cannot find counter to unregister " + counterName);
         }
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

     
      Iterator iter = counters.iterator();
     
      while (iter.hasNext())
      {
         MessageCounter counter = (MessageCounter)iter.next();
        
         counter.setHistoryLimit(limit);
      }
   }
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

            {
               //Use override on server peer
               dayLimitToUse = serverPeer.getDefaultMessageCounterHistoryDayLimit();
            }
           
            MessageCounter counter =
               new MessageCounter(counterName, subName, queue, true, true,
                                  dayLimitToUse);
           
            serverPeer.getMessageCounterManager().registerMessageCounter(counterName, counter);           
         }
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

      Iterator iter = counters.iterator();
     
      while (iter.hasNext())
      {
         MessageCounter counter = (MessageCounter)iter.next();
        
         // get counter data
         StringTokenizer tokens = new StringTokenizer(counter.getCounterAsString(), ",");

         String strType = tokens.nextToken();
         String strName = tokens.nextToken();
         String strSub = tokens.nextToken();
         String strDurable = tokens.nextToken();
View Full Code Here

Examples of org.jboss.jms.server.messagecounter.MessageCounter

        
         Iterator iter = counters.iterator();
        
         while (iter.hasNext())
         {
            MessageCounter counter = (MessageCounter)iter.next();
           
            assertEquals(0, counter.getCount());
           
            assertEquals(0, counter.getCountDelta());
           
            assertEquals(-1, counter.getHistoryLimit());
           
         }
        
         //Create a temp queue
        
         TemporaryQueue tempQueue = sess.createTemporaryQueue();
        
         counters = (List)
         ServerManagement.getAttribute(ServerManagement.getServerPeerObjectName(), "MessageCounters");
     
         assertNotNull(counters);
     
         //Should now be 7
         assertEquals(7, counters.size());
        
         //Send some messages
        
         MessageProducer prod = sess.createProducer(null);
        
         TextMessage tm1 = sess.createTextMessage("message1");
        
         TextMessage tm2 = sess.createTextMessage("message2");
        
         TextMessage tm3 = sess.createTextMessage("message3");
        
         prod.send(queue1, tm1);        
         prod.send(queue1, tm2);        
         prod.send(queue1, tm3);
        
         prod.send(queue2, tm1);        
         prod.send(queue2, tm2);        
         prod.send(queue2, tm3);
        
         prod.send(queue3, tm1);        
         prod.send(queue3, tm2);        
         prod.send(queue3, tm3);
        
         prod.send(tempQueue, tm1);        
         prod.send(tempQueue, tm2);        
         prod.send(tempQueue, tm3);
        
         prod.send(topic1, tm1);        
         prod.send(topic1, tm2);        
         prod.send(topic1, tm3);
        
         prod.send(topic2, tm1);        
         prod.send(topic2, tm2);        
         prod.send(topic2, tm3);
        
         iter = counters.iterator();
        
         //Wait until the stats are updated
         Thread.sleep(1500);
        
         while (iter.hasNext())
         {
            MessageCounter counter = (MessageCounter)iter.next();
           
            assertEquals(3, counter.getCount());
           
            assertEquals(3, counter.getCountDelta());
           
            assertEquals(-1, counter.getHistoryLimit());
           
         }
        
         while (iter.hasNext())
         {
            MessageCounter counter = (MessageCounter)iter.next();
               
            assertEquals(3, counter.getCount());
           
            assertEquals(0, counter.getCountDelta());
           
            assertEquals(-1, counter.getHistoryLimit());
           
         }
           
         ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "resetAllMessageCounters", null, null);
        
         ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "resetAllMessageCounterHistories", null, null);
        
        
         while (iter.hasNext())
         {
            MessageCounter counter = (MessageCounter)iter.next();
           
            assertEquals(0, counter.getCount());
           
            assertEquals(0, counter.getCountDelta());
           
            assertEquals(-1, counter.getHistoryLimit());           
         }
        
         String html = (String)ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "listMessageCountersAsHTML", null, null);
        
         assertNotNull(html);
        
         while (iter.hasNext())
         {
            MessageCounter counter = (MessageCounter)iter.next();

            assertTrue(html.indexOf(counter.getDestinationName()) != -1);          
         }
        
         List stats = (List)ServerManagement.getAttribute(ServerManagement.getServerPeerObjectName(), "MessageStatistics");
        
         assertNotNull(stats);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.