org.apache.activemq.broker.jmx.ManagementContext

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
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
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
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
/**
     * 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
@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
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));
}