@SuppressWarnings("unchecked") private void displayQueueStats() throws Exception { String query = JmxMBeansUtil.createQueryString(queryString, "Queue"); List queueList = JmxMBeansUtil.queryMBeans(createJmxConnection(), query); final String header = "%-50s %10s %10s %10s %10s %10s %10s %10s %10s"; final String tableRow = "%-50s %10d %10d %10d %10d %10d %10d %10d %10d"; context.print(String.format(Locale.US, header, "Name", "Queue Size", "Producer #", "Consumer #", "Enqueue #", "Dequeue #", "Forward #", "Memory %", "Inflight #")); Collections.sort(queueList, new ObjectInstanceComparator()); // Iterate through the queue result for (Object view : queueList) { ObjectInstance obj = (ObjectInstance) view; if (!filterMBeans(obj)) { continue; } ObjectName queueName = obj.getObjectName(); QueueViewMBean queueView = MBeanServerInvocationHandler. newProxyInstance(createJmxConnection(), queueName, QueueViewMBean.class, true); context.print(String.format(Locale.US, tableRow, queueView.getName(), queueView.getQueueSize(), queueView.getProducerCount(), queueView.getConsumerCount(), queueView.getEnqueueCount(), queueView.getDequeueCount(), queueView.getForwardCount(), queueView.getMemoryPercentUsage(), queueView.getInFlightCount())); } }
private void deleteMessage(String messageId, String queueName) { try { JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi"); JMXConnector jmxc = JMXConnectorFactory.connect(url); MBeanServerConnection conn = jmxc.getMBeanServerConnection(); ObjectName name = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost"); BrokerViewMBean proxy = (BrokerViewMBean)MBeanServerInvocationHandler.newProxyInstance(conn, name, BrokerViewMBean.class, true); for (ObjectName queue : proxy.getQueues()) { QueueViewMBean queueBean = (QueueViewMBean) MBeanServerInvocationHandler.newProxyInstance(conn, queue, QueueViewMBean.class, true); if(queueBean.getName().equals(queueName)) { System.out.println("Deleted : " + messageId); queueBean.removeMessage(messageId); return; } } } catch(Exception e) { e.printStackTrace(); } }
removed = proxy.removeMatchingMessages(sqlQuery); context.printInfo("Removed: " + removed + " messages for message selector " + sqlQuery); proxy.resetStatistics();
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi"); JMXConnector connector = JMXConnectorFactory.connect(url, null); connector.connect(); connection = connector.getMBeanServerConnection(); ObjectName name = new ObjectName(getObjectNameByBrokerName(brokerName)); brokerMBean = (BrokerViewMBean) MBeanServerInvocationHandler.newProxyInstance(connection, name, BrokerViewMBean.class, true); ObjectName[] objNames = brokerMBean.getQueues(); for (ObjectName objName : objNames) { QueueViewMBean queueMBean = (QueueViewMBean) MBeanServerInvocationHandler.newProxyInstance(connection, objName, QueueViewMBean.class, true); System.out.println(queueMBean.getName()); }
removed = proxy.removeMatchingMessages(sqlQuery); context.printInfo("Removed: " + removed + " messages for message selector " + sqlQuery); proxy.resetStatistics();
private void deleteMessage(String messageId, String queueName) { try { JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi"); JMXConnector jmxc = JMXConnectorFactory.connect(url); MBeanServerConnection conn = jmxc.getMBeanServerConnection(); ObjectName name = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost"); BrokerViewMBean proxy = (BrokerViewMBean)MBeanServerInvocationHandler.newProxyInstance(conn, name, BrokerViewMBean.class, true); for (ObjectName queue : proxy.getQueues()) { QueueViewMBean queueBean = (QueueViewMBean) MBeanServerInvocationHandler.newProxyInstance(conn, queue, QueueViewMBean.class, true); if(queueBean.getName().equals(queueName)) { System.out.println("Deleted : " + messageId); queueBean.removeMessage(messageId); return; } } } catch(Exception e) { e.printStackTrace(); } }
@SuppressWarnings("unchecked") private void displayQueueStats() throws Exception { String query = JmxMBeansUtil.createQueryString(queryString, "Queue"); List queueList = JmxMBeansUtil.queryMBeans(createJmxConnection(), query); final String header = "%-50s %10s %10s %10s %10s %10s %10s %10s %10s"; final String tableRow = "%-50s %10d %10d %10d %10d %10d %10d %10d %10d"; context.print(String.format(Locale.US, header, "Name", "Queue Size", "Producer #", "Consumer #", "Enqueue #", "Dequeue #", "Forward #", "Memory %", "Inflight #")); Collections.sort(queueList, new ObjectInstanceComparator()); // Iterate through the queue result for (Object view : queueList) { ObjectInstance obj = (ObjectInstance) view; if (!filterMBeans(obj)) { continue; } ObjectName queueName = obj.getObjectName(); QueueViewMBean queueView = MBeanServerInvocationHandler. newProxyInstance(createJmxConnection(), queueName, QueueViewMBean.class, true); context.print(String.format(Locale.US, tableRow, queueView.getName(), queueView.getQueueSize(), queueView.getProducerCount(), queueView.getConsumerCount(), queueView.getEnqueueCount(), queueView.getDequeueCount(), queueView.getForwardCount(), queueView.getMemoryPercentUsage(), queueView.getInFlightCount())); } }
removed = proxy.removeMatchingMessages(sqlQuery); context.printInfo("Removed: " + removed + " messages for message selector " + sqlQuery); proxy.resetStatistics();
@SuppressWarnings("unchecked") private void displayQueueStats() throws Exception { String query = JmxMBeansUtil.createQueryString(queryString, "Queue"); List queueList = JmxMBeansUtil.queryMBeans(createJmxConnection(), query); final String header = "%-50s %10s %10s %10s %10s %10s %10s %10s %10s"; final String tableRow = "%-50s %10d %10d %10d %10d %10d %10d %10d %10d"; context.print(String.format(Locale.US, header, "Name", "Queue Size", "Producer #", "Consumer #", "Enqueue #", "Dequeue #", "Forward #", "Memory %", "Inflight #")); Collections.sort(queueList, new ObjectInstanceComparator()); // Iterate through the queue result for (Object view : queueList) { ObjectInstance obj = (ObjectInstance) view; if (!filterMBeans(obj)) { continue; } ObjectName queueName = obj.getObjectName(); QueueViewMBean queueView = MBeanServerInvocationHandler. newProxyInstance(createJmxConnection(), queueName, QueueViewMBean.class, true); context.print(String.format(Locale.US, tableRow, queueView.getName(), queueView.getQueueSize(), queueView.getProducerCount(), queueView.getConsumerCount(), queueView.getEnqueueCount(), queueView.getDequeueCount(), queueView.getForwardCount(), queueView.getMemoryPercentUsage(), queueView.getInFlightCount())); } }
@SuppressWarnings("unchecked") private void displayAllDestinations() throws Exception { String query = JmxMBeansUtil.createQueryString(queryString, "*"); List queueList = JmxMBeansUtil.queryMBeans(createJmxConnection(), query); final String header = "%-50s %10s %10s %10s %10s %10s %10s %10s"; final String tableRow = "%-50s %10d %10d %10d %10d %10d %10d %10d"; // sort list so the names is A..Z Collections.sort(queueList, new ObjectInstanceComparator()); context.print(String.format(Locale.US, header, "Name", "Queue Size", "Producer #", "Consumer #", "Enqueue #", "Dequeue #", "Forward #", "Memory %")); // Iterate through the queue result for (Object view : queueList) { ObjectInstance obj = (ObjectInstance) view; if (!filterMBeans(obj)) { continue; } ObjectName queueName = obj.getObjectName(); QueueViewMBean queueView = MBeanServerInvocationHandler. newProxyInstance(createJmxConnection(), queueName, QueueViewMBean.class, true); context.print(String.format(Locale.US, tableRow, queueView.getName(), queueView.getQueueSize(), queueView.getProducerCount(), queueView.getConsumerCount(), queueView.getEnqueueCount(), queueView.getDequeueCount(), queueView.getForwardCount(), queueView.getMemoryPercentUsage())); } }
@SuppressWarnings("unchecked") private void displayAllDestinations() throws Exception { String query = JmxMBeansUtil.createQueryString(queryString, "*"); List queueList = JmxMBeansUtil.queryMBeans(createJmxConnection(), query); final String header = "%-50s %10s %10s %10s %10s %10s %10s %10s"; final String tableRow = "%-50s %10d %10d %10d %10d %10d %10d %10d"; // sort list so the names is A..Z Collections.sort(queueList, new ObjectInstanceComparator()); context.print(String.format(Locale.US, header, "Name", "Queue Size", "Producer #", "Consumer #", "Enqueue #", "Dequeue #", "Forward #", "Memory %")); // Iterate through the queue result for (Object view : queueList) { ObjectInstance obj = (ObjectInstance) view; if (!filterMBeans(obj)) { continue; } ObjectName queueName = obj.getObjectName(); QueueViewMBean queueView = MBeanServerInvocationHandler. newProxyInstance(createJmxConnection(), queueName, QueueViewMBean.class, true); context.print(String.format(Locale.US, tableRow, queueView.getName(), queueView.getQueueSize(), queueView.getProducerCount(), queueView.getConsumerCount(), queueView.getEnqueueCount(), queueView.getDequeueCount(), queueView.getForwardCount(), queueView.getMemoryPercentUsage())); } }
@SuppressWarnings("unchecked") private void displayAllDestinations() throws Exception { String query = JmxMBeansUtil.createQueryString(queryString, "*"); List queueList = JmxMBeansUtil.queryMBeans(createJmxConnection(), query); final String header = "%-50s %10s %10s %10s %10s %10s %10s %10s"; final String tableRow = "%-50s %10d %10d %10d %10d %10d %10d %10d"; // sort list so the names is A..Z Collections.sort(queueList, new ObjectInstanceComparator()); context.print(String.format(Locale.US, header, "Name", "Queue Size", "Producer #", "Consumer #", "Enqueue #", "Dequeue #", "Forward #", "Memory %")); // Iterate through the queue result for (Object view : queueList) { ObjectInstance obj = (ObjectInstance) view; if (!filterMBeans(obj)) { continue; } ObjectName queueName = obj.getObjectName(); QueueViewMBean queueView = MBeanServerInvocationHandler. newProxyInstance(createJmxConnection(), queueName, QueueViewMBean.class, true); context.print(String.format(Locale.US, tableRow, queueView.getName(), queueView.getQueueSize(), queueView.getProducerCount(), queueView.getConsumerCount(), queueView.getEnqueueCount(), queueView.getDequeueCount(), queueView.getForwardCount(), queueView.getMemoryPercentUsage())); } }