Here are the examples of the java api class org.apache.activemq.broker.jmx.TopicViewMBean taken from open source projects.
1. JmsTopicPublisherTest#testCreateTopicPublisher()
Project: qpid-jms
File: JmsTopicPublisherTest.java
File: JmsTopicPublisherTest.java
@Test public void testCreateTopicPublisher() throws Exception { JmsConnectionFactory factory = new JmsConnectionFactory(getBrokerAmqpConnectionURI()); TopicConnection connection = factory.createTopicConnection(); assertNotNull(connection); TopicSession session = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); assertNotNull(session); Topic topic = session.createTopic(name.getMethodName()); TopicPublisher publisher = session.createPublisher(topic); assertNotNull(publisher); TopicViewMBean proxy = getProxyToTopic(name.getMethodName()); assertEquals(0, proxy.getEnqueueCount()); connection.close(); }
2. JmsAnonymousProducerTest#testAnonymousSendToTopic()
Project: qpid-jms
File: JmsAnonymousProducerTest.java
File: JmsAnonymousProducerTest.java
@Test(timeout = 60000) public void testAnonymousSendToTopic() throws Exception { connection = createAmqpConnection(); assertNotNull(connection); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Topic topic = session.createTopic(name.getMethodName()); assertNotNull(session); MessageProducer producer = session.createProducer(null); assertNotNull(producer); MessageConsumer consumer = session.createConsumer(topic); assertNotNull(consumer); Message message = session.createMessage(); producer.send(topic, message); TopicViewMBean proxy = getProxyToTopic(name.getMethodName()); assertEquals(1, proxy.getEnqueueCount()); }
3. JmsMessageConsumerTest#testSyncConsumeFromTopic()
Project: qpid-jms
File: JmsMessageConsumerTest.java
File: JmsMessageConsumerTest.java
@Test(timeout = 60000) public void testSyncConsumeFromTopic() throws Exception { connection = createAmqpConnection(); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); assertNotNull(session); Topic topic = session.createTopic(name.getMethodName()); MessageConsumer consumer = session.createConsumer(topic); sendToAmqTopic(1); final TopicViewMBean proxy = getProxyToTopic(name.getMethodName()); assertEquals(1, proxy.getEnqueueCount()); assertNotNull("Failed to receive any message.", consumer.receive(3000)); assertTrue("Published message not consumed.", Wait.waitFor(new Wait.Condition() { @Override public boolean isSatisified() throws Exception { return proxy.getQueueSize() == 0; } })); }
4. JmsDurableSubscriberTest#testCreateDurableSubscriber()
Project: qpid-jms
File: JmsDurableSubscriberTest.java
File: JmsDurableSubscriberTest.java
@Test(timeout = 60000) public void testCreateDurableSubscriber() throws Exception { connection = createAmqpConnection(); connection.setClientID("DURABLE-AMQP"); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); assertNotNull(session); Topic topic = session.createTopic(name.getMethodName()); MessageConsumer consumer = session.createDurableSubscriber(topic, getSubscriptionName()); TopicViewMBean proxy = getProxyToTopic(name.getMethodName()); assertEquals(0, proxy.getQueueSize()); assertEquals(1, brokerService.getAdminView().getDurableTopicSubscribers().length); assertEquals(0, brokerService.getAdminView().getInactiveDurableTopicSubscribers().length); consumer.close(); assertEquals(0, brokerService.getAdminView().getDurableTopicSubscribers().length); assertEquals(1, brokerService.getAdminView().getInactiveDurableTopicSubscribers().length); }
5. SimpleAuthenticationPluginTest#testTempDestinations()
Project: activemq-artemis
File: SimpleAuthenticationPluginTest.java
File: SimpleAuthenticationPluginTest.java
public void testTempDestinations() throws Exception { Connection conn = factory.createConnection("guest", "password"); Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); String name = "org.apache.activemq:BrokerName=localhost,Type=TempTopic"; try { conn.start(); TemporaryTopic temp = sess.createTemporaryTopic(); name += ",Destination=" + temp.getTopicName().replaceAll(":", "_"); fail("Should have failed creating a temp topic"); } catch (Exception ignore) { } ObjectName objName = new ObjectName(name); TopicViewMBean mbean = (TopicViewMBean) broker.getManagementContext().newProxyInstance(objName, TopicViewMBean.class, true); try { System.out.println(mbean.getName()); fail("Shouldn't have created a temp topic"); } catch (Exception ignore) { } }
6. QpidJmsTestSupport#getProxyToTemporaryTopic()
Project: qpid-jms
File: QpidJmsTestSupport.java
File: QpidJmsTestSupport.java
protected TopicViewMBean getProxyToTemporaryTopic(BrokerService broker, String name) throws MalformedObjectNameException, JMSException { name = JMXSupport.encodeObjectNamePart(name); ObjectName topicViewMBeanName = new ObjectName(broker.getBrokerObjectName() + ",destinationType=TempTopic,destinationName=" + name); TopicViewMBean proxy = (TopicViewMBean) brokerService.getManagementContext().newProxyInstance(topicViewMBeanName, TopicViewMBean.class, true); return proxy; }
7. QpidJmsTestSupport#getProxyToTopic()
Project: qpid-jms
File: QpidJmsTestSupport.java
File: QpidJmsTestSupport.java
protected TopicViewMBean getProxyToTopic(BrokerService broker, String name) throws MalformedObjectNameException, JMSException { ObjectName topicViewMBeanName = new ObjectName(broker.getBrokerObjectName() + ",destinationType=Topic,destinationName=" + name); TopicViewMBean proxy = (TopicViewMBean) brokerService.getManagementContext().newProxyInstance(topicViewMBeanName, TopicViewMBean.class, true); return proxy; }
8. JmsDurableSubscriberTest#testOfflineSubscriberGetsItsMessages()
Project: qpid-jms
File: JmsDurableSubscriberTest.java
File: JmsDurableSubscriberTest.java
@Test(timeout = 60000) public void testOfflineSubscriberGetsItsMessages() throws Exception { connection = createAmqpConnection(); connection.setClientID("DURABLE-AMQP"); connection.start(); final int MSG_COUNT = 5; Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); assertNotNull(session); Topic topic = session.createTopic(name.getMethodName()); TopicSubscriber subscriber = session.createDurableSubscriber(topic, getSubscriptionName()); TopicViewMBean proxy = getProxyToTopic(name.getMethodName()); assertEquals(0, proxy.getQueueSize()); assertEquals(1, brokerService.getAdminView().getDurableTopicSubscribers().length); assertEquals(0, brokerService.getAdminView().getInactiveDurableTopicSubscribers().length); subscriber.close(); assertEquals(0, brokerService.getAdminView().getDurableTopicSubscribers().length); assertEquals(1, brokerService.getAdminView().getInactiveDurableTopicSubscribers().length); MessageProducer producer = session.createProducer(topic); for (int i = 0; i < MSG_COUNT; i++) { producer.send(session.createTextMessage("Message: " + i)); } producer.close(); LOG.info("Bringing offline subscription back online."); subscriber = session.createDurableSubscriber(topic, getSubscriptionName()); assertEquals(1, brokerService.getAdminView().getDurableTopicSubscribers().length); assertEquals(0, brokerService.getAdminView().getInactiveDurableTopicSubscribers().length); final CountDownLatch messages = new CountDownLatch(MSG_COUNT); subscriber.setMessageListener(new MessageListener() { @Override public void onMessage(Message message) { LOG.info("Consumer got a message: {}", message); messages.countDown(); } }); assertTrue("Only recieved messages: " + messages.getCount(), messages.await(30, TimeUnit.SECONDS)); }
9. JmsDurableSubscriberTest#testDurableGoesOfflineAndReturns()
Project: qpid-jms
File: JmsDurableSubscriberTest.java
File: JmsDurableSubscriberTest.java
@Test(timeout = 60000) public void testDurableGoesOfflineAndReturns() throws Exception { connection = createAmqpConnection(); connection.setClientID("DURABLE-AMQP"); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); assertNotNull(session); Topic topic = session.createTopic(name.getMethodName()); TopicSubscriber subscriber = session.createDurableSubscriber(topic, getSubscriptionName()); TopicViewMBean proxy = getProxyToTopic(name.getMethodName()); assertEquals(0, proxy.getQueueSize()); assertEquals(1, brokerService.getAdminView().getDurableTopicSubscribers().length); assertEquals(0, brokerService.getAdminView().getInactiveDurableTopicSubscribers().length); subscriber.close(); assertEquals(0, brokerService.getAdminView().getDurableTopicSubscribers().length); assertEquals(1, brokerService.getAdminView().getInactiveDurableTopicSubscribers().length); subscriber = session.createDurableSubscriber(topic, getSubscriptionName()); assertEquals(1, brokerService.getAdminView().getDurableTopicSubscribers().length); assertEquals(0, brokerService.getAdminView().getInactiveDurableTopicSubscribers().length); }
10. DurableSubscriptionOffline2Test#testJMXCountersWithOfflineSubs()
Project: activemq-artemis
File: DurableSubscriptionOffline2Test.java
File: DurableSubscriptionOffline2Test.java
@Test(timeout = 60 * 1000) public void testJMXCountersWithOfflineSubs() throws Exception { // create durable subscription 1 Connection con = createConnection("cliId1"); Session session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); session.createDurableSubscriber(topic, "SubsId", null, true); session.close(); con.close(); // restart broker broker.stop(); createBroker(false); // send messages con = createConnection(); session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(null); int sent = 0; for (int i = 0; i < 10; i++) { sent++; Message message = session.createMessage(); producer.send(topic, message); } session.close(); con.close(); // consume some messages con = createConnection("cliId1"); session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageConsumer consumer = session.createDurableSubscriber(topic, "SubsId", null, true); for (int i = 0; i < sent / 2; i++) { Message m = consumer.receive(4000); assertNotNull("got message: " + i, m); LOG.info("Got :" + i + ", " + m); } // check some counters while active ObjectName activeDurableSubName = broker.getAdminView().getDurableTopicSubscribers()[0]; LOG.info("active durable sub name: " + activeDurableSubName); final DurableSubscriptionViewMBean durableSubscriptionView = (DurableSubscriptionViewMBean) broker.getManagementContext().newProxyInstance(activeDurableSubName, DurableSubscriptionViewMBean.class, true); assertTrue("is active", durableSubscriptionView.isActive()); assertEquals("all enqueued", keepDurableSubsActive ? 10 : 0, durableSubscriptionView.getEnqueueCounter()); assertTrue("correct waiting acks", Wait.waitFor(new Wait.Condition() { @Override public boolean isSatisified() throws Exception { return 5 == durableSubscriptionView.getMessageCountAwaitingAcknowledge(); } })); assertEquals("correct dequeue", 5, durableSubscriptionView.getDequeueCounter()); ObjectName destinationName = broker.getAdminView().getTopics()[0]; TopicViewMBean topicView = (TopicViewMBean) broker.getManagementContext().newProxyInstance(destinationName, TopicViewMBean.class, true); assertEquals("correct enqueue", 10, topicView.getEnqueueCount()); assertEquals("still zero dequeue, we don't decrement on each sub ack to stop exceeding the enqueue count with multiple subs", 0, topicView.getDequeueCount()); assertEquals("inflight", 5, topicView.getInFlightCount()); session.close(); con.close(); // check some counters when inactive ObjectName inActiveDurableSubName = broker.getAdminView().getInactiveDurableTopicSubscribers()[0]; LOG.info("inactive durable sub name: " + inActiveDurableSubName); DurableSubscriptionViewMBean durableSubscriptionView1 = (DurableSubscriptionViewMBean) broker.getManagementContext().newProxyInstance(inActiveDurableSubName, DurableSubscriptionViewMBean.class, true); assertTrue("is not active", !durableSubscriptionView1.isActive()); assertEquals("all enqueued", keepDurableSubsActive ? 10 : 0, durableSubscriptionView1.getEnqueueCounter()); assertEquals("correct awaiting ack", 0, durableSubscriptionView1.getMessageCountAwaitingAcknowledge()); assertEquals("correct dequeue", keepDurableSubsActive ? 5 : 0, durableSubscriptionView1.getDequeueCounter()); // destination view assertEquals("correct enqueue", 10, topicView.getEnqueueCount()); assertEquals("still zero dequeue, we don't decrement on each sub ack to stop exceeding the enqueue count with multiple subs", 0, topicView.getDequeueCount()); assertEquals("inflight back to 0 after deactivate", 0, topicView.getInFlightCount()); // consume the rest con = createConnection("cliId1"); session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); consumer = session.createDurableSubscriber(topic, "SubsId", null, true); for (int i = 0; i < sent / 2; i++) { Message m = consumer.receive(30000); assertNotNull("got message: " + i, m); LOG.info("Got :" + i + ", " + m); } activeDurableSubName = broker.getAdminView().getDurableTopicSubscribers()[0]; LOG.info("durable sub name: " + activeDurableSubName); final DurableSubscriptionViewMBean durableSubscriptionView2 = (DurableSubscriptionViewMBean) broker.getManagementContext().newProxyInstance(activeDurableSubName, DurableSubscriptionViewMBean.class, true); assertTrue("is active", durableSubscriptionView2.isActive()); assertEquals("all enqueued", keepDurableSubsActive ? 10 : 0, durableSubscriptionView2.getEnqueueCounter()); assertTrue("correct dequeue", Wait.waitFor(new Wait.Condition() { @Override public boolean isSatisified() throws Exception { long val = durableSubscriptionView2.getDequeueCounter(); LOG.info("dequeue count:" + val); return 10 == val; } })); }