Here are the examples of the java api class org.apache.activemq.broker.jmx.ManagementContext taken from open source projects.
1. CheckDuplicateMessagesOnDuplexTest#createRemoteBroker()
Project: activemq-artemis
File: CheckDuplicateMessagesOnDuplexTest.java
File: CheckDuplicateMessagesOnDuplexTest.java
private void createRemoteBroker() throws Exception { remoteBroker = new BrokerService(); remoteBroker.setBrokerName("REMOTE"); remoteBroker.setUseJmx(true); remoteBroker.setSchedulePeriodForDestinationPurge(5000); ManagementContext managementContext = new ManagementContext(); managementContext.setCreateConnector(false); remoteBroker.setManagementContext(managementContext); PersistenceAdapter persistenceAdapter = persistenceAdapterFactory("target/remote"); remoteBroker.setPersistenceAdapter(persistenceAdapter); List<NetworkConnector> networkConnectors = new ArrayList<>(); DiscoveryNetworkConnector networkConnector = new DiscoveryNetworkConnector(); networkConnector.setName("to local"); // set maxInactivityDuration to 0, otherwise the broker restarts while you are in the debugger networkConnector.setUri(URI.create("static://(tcp://127.0.0.1:23539?wireFormat.maxInactivityDuration=0)")); networkConnector.setDuplex(true); //networkConnector.setNetworkTTL(5); //networkConnector.setDynamicOnly(true); networkConnector.setAlwaysSyncSend(true); networkConnector.setDecreaseNetworkConsumerPriority(false); networkConnector.setPrefetchSize(1); networkConnector.setCheckDuplicateMessagesOnDuplex(true); networkConnectors.add(networkConnector); remoteBroker.setNetworkConnectors(networkConnectors); }
2. CheckDuplicateMessagesOnDuplexTest#createLocalBroker()
Project: activemq-artemis
File: CheckDuplicateMessagesOnDuplexTest.java
File: CheckDuplicateMessagesOnDuplexTest.java
private void createLocalBroker() throws Exception { localBroker = new BrokerService(); localBroker.setBrokerName("LOCAL"); localBroker.setUseJmx(true); localBroker.setSchedulePeriodForDestinationPurge(5000); ManagementContext managementContext = new ManagementContext(); managementContext.setCreateConnector(false); localBroker.setManagementContext(managementContext); PersistenceAdapter persistenceAdapter = persistenceAdapterFactory("target/local"); localBroker.setPersistenceAdapter(persistenceAdapter); List<TransportConnector> transportConnectors = new ArrayList<>(); DebugTransportFactory tf = new DebugTransportFactory(); TransportServer transport = tf.doBind(URI.create("nio://127.0.0.1:23539")); TransportConnector transportConnector = new TransportConnector(transport); transportConnector.setName("tc"); transportConnector.setAuditNetworkProducers(true); transportConnectors.add(transportConnector); localBroker.setTransportConnectors(transportConnectors); }
3. BrokerNetworkWithStuckMessagesTest#browseQueueWithJmx()
Project: activemq-artemis
File: BrokerNetworkWithStuckMessagesTest.java
File: BrokerNetworkWithStuckMessagesTest.java
private Object[] browseQueueWithJmx(BrokerService broker) throws Exception { Hashtable<String, String> params = new Hashtable<>(); params.put("brokerName", broker.getBrokerName()); params.put("type", "Broker"); params.put("destinationType", "Queue"); params.put("destinationName", queueName); ObjectName queueObjectName = ObjectName.getInstance(amqDomain, params); ManagementContext mgmtCtx = broker.getManagementContext(); QueueViewMBean queueView = (QueueViewMBean) mgmtCtx.newProxyInstance(queueObjectName, QueueViewMBean.class, true); Object[] messages = queueView.browse(); LOG.info("+Browsed with JMX: " + messages.length); return messages; }
4. ActiveMQBroker#startBroker()
Project: communote-server
File: ActiveMQBroker.java
File: ActiveMQBroker.java
/** * starts broker * * @throws Exception * exception */ private void startBroker() throws Exception { LOGGER.info("MQ Broker Starting ..."); // generate new identification on new broker start this.embeddedConfiguration.generateNewIdentification(); this.settingsDao.isForceSSL(); broker = new BrokerService(); broker.setBrokerName(settingsDao.getBrokerName()); broker.setPopulateJMSXUserID(true); initSsl(); CommunoteLoggingBrokerPlugin loggingPlugin = new CommunoteLoggingBrokerPlugin(); // jaas TODO this should be a general configuration System.setProperty("java.security.auth.login.config", loginConfURL); AuthorizationPlugin authorizationPlugin = ActiveMQProviderSecurityHelper.createAuthorizationPlugin(settingsDao.getQueueName(), settingsDao.getReplyQueueNamePrefix()); CommunoteJaasAuthenticationPlugin authenticationPlugin = new CommunoteJaasAuthenticationPlugin(settingsDao, embeddedConfiguration); authenticationPlugin.setConfiguration("activemq-domain"); broker.setPlugins(new BrokerPlugin[] { authenticationPlugin, authorizationPlugin, loggingPlugin }); // persistence PersistenceAdapter kahaPersistenceAdapter = new KahaDBStore(); kahaPersistenceAdapter.setDirectory(new File(settingsDao.getDataDirectory())); broker.setPersistenceAdapter(kahaPersistenceAdapter); for (String brokerURL : settingsDao.getBrokerConnectorURLs()) { if (brokerURL.startsWith("vm")) { broker.setVmConnectorURI(new URI(brokerURL)); } else { broker.addConnector(brokerURL); } } // jmx broker.setUseJmx(settingsDao.isJmxMonitoringEnabled()); ManagementContext managementContext = new ManagementContext(); managementContext.setJmxDomainName(settingsDao.getJmxDomainName()); managementContext.setConnectorPort(settingsDao.getJmxPort()); if (!settingsDao.isJmxRemoteEnabled()) { // do not create the mbean server that will start on the remote part, just allow the // access to jmx via virtual machine managementContext.setCreateMBeanServer(false); managementContext.setFindTigerMbeanServer(true); managementContext.setUseMBeanServer(true); managementContext.setCreateConnector(false); managementContext.setAllowRemoteAddressInMBeanNames(false); } if (settingsDao.isJmxMonitoringEnabled()) { brokerViewBeanObjectName = settingsDao.getJmxDomainName() + ":BrokerName=" + settingsDao.getBrokerName() + ",Type=Broker"; } LOGGER.info("JmxMonitoringEnabled: " + settingsDao.isJmxMonitoringEnabled() + " JmxRemoteEnabled: " + settingsDao.isJmxRemoteEnabled()); broker.setManagementContext(managementContext); broker.start(); LOGGER.info("Waiting for MQ Broker to start ..."); broker.waitUntilStarted(); String urls = "" + settingsDao.getBrokerConnectorURLs(); if (settingsDao.isEnableVM()) { urls += " + VM Url: " + settingsDao.getVMConnectorURL(); } LOGGER.info("MQ Broker has been started on URLs: " + urls); }
5. AdvisoryJmxTest#createBroker()
Project: activemq-artemis
File: AdvisoryJmxTest.java
File: AdvisoryJmxTest.java
@Override protected BrokerService createBroker() throws Exception { BrokerService answer = new BrokerService(); answer.setPersistent(isPersistent()); answer.addConnector(bindAddress); ManagementContext context = new ManagementContext(); context.setConnectorPort(1199); answer.setManagementContext(context); return answer; }
6. VerifyNetworkConsumersDisconnectTest#assertExactConsumersConnect()
Project: activemq-artemis
File: VerifyNetworkConsumersDisconnectTest.java
File: VerifyNetworkConsumersDisconnectTest.java
protected void assertExactConsumersConnect(final String brokerName, final int count, final int numChecks, long timeout) throws Exception { final ManagementContext context = brokers.get(brokerName).broker.getManagementContext(); final AtomicInteger stability = new AtomicInteger(0); assertTrue("Expected consumers count: " + count + " on: " + brokerName, Wait.waitFor(new Wait.Condition() { @Override public boolean isSatisified() throws Exception { try { QueueViewMBean queueViewMBean = (QueueViewMBean) context.newProxyInstance(brokers.get(brokerName).broker.getAdminView().getQueues()[0], QueueViewMBean.class, false); long currentCount = queueViewMBean.getConsumerCount(); LOG.info("On " + brokerName + " current consumer count for " + queueViewMBean + ", " + currentCount); LinkedList<String> consumerIds = new LinkedList<>(); for (ObjectName objectName : queueViewMBean.getSubscriptions()) { consumerIds.add(objectName.getKeyProperty("consumerId")); } LOG.info("Sub IDs: " + consumerIds); if (currentCount == count) { stability.incrementAndGet(); } else { stability.set(0); } return stability.get() > numChecks; } catch (Exception e) { LOG.warn(": ", e); return false; } } }, timeout)); }