Search in sources :

Example 1 with JConsoleContext

use of com.sun.tools.jconsole.JConsoleContext in project wildfly-core by wildfly.

the class JConsoleCLIPlugin method connect.

private void connect() throws Exception {
    JConsoleContext jcCtx = this.getContext();
    MBeanServerConnection mbeanServerConn = jcCtx.getMBeanServerConnection();
    if (mbeanServerConn instanceof RemotingMBeanServerConnection) {
        final CommandContext cmdCtx = CommandContextFactory.getInstance().newCommandContext();
        if (connectUsingRemoting(cmdCtx, (RemotingMBeanServerConnection) mbeanServerConn)) {
            // Set a listener for connection state change.
            jcCtx.addPropertyChangeListener((PropertyChangeEvent evt) -> {
                log.tracef("Received property change %s value %s", evt.getPropertyName(), evt.getNewValue());
                if (JConsoleContext.CONNECTION_STATE_PROPERTY.equals(evt.getPropertyName())) {
                    ConnectionState state = (ConnectionState) evt.getNewValue();
                    if (state == ConnectionState.CONNECTED) {
                        try {
                            // Rebuild the ModelControllerClient
                            RemotingMBeanServerConnection rmbsc = (RemotingMBeanServerConnection) getContext().getMBeanServerConnection();
                            connectUsingRemoting(cmdCtx, rmbsc);
                            connectedClient = cmdCtx.getModelControllerClient();
                            isConnected = true;
                        } catch (Exception ex) {
                            log.error(null, ex);
                        }
                    } else {
                        isConnected = false;
                    }
                }
            });
            connectedClient = cmdCtx.getModelControllerClient();
            Supplier<ModelControllerClient> client = () -> {
                return connectedClient;
            };
            init(cmdCtx, client);
        } else {
            JOptionPane.showInternalMessageDialog(jconsolePanel, MSG_CANNOT_ESTABLISH_CONNECTION);
        }
    } else {
        // show dialog
        dialog.start();
    }
}
Also used : PropertyChangeEvent(java.beans.PropertyChangeEvent) CommandContext(org.jboss.as.cli.CommandContext) ExistingChannelModelControllerClient(org.jboss.as.controller.client.impl.ExistingChannelModelControllerClient) ModelControllerClient(org.jboss.as.controller.client.ModelControllerClient) JConsoleContext(com.sun.tools.jconsole.JConsoleContext) RemotingMBeanServerConnection(org.jboss.remotingjmx.RemotingMBeanServerConnection) ConnectionState(com.sun.tools.jconsole.JConsoleContext.ConnectionState) MBeanServerConnection(javax.management.MBeanServerConnection) RemotingMBeanServerConnection(org.jboss.remotingjmx.RemotingMBeanServerConnection) CliInitializationException(org.jboss.as.cli.CliInitializationException) IOException(java.io.IOException)

Example 2 with JConsoleContext

use of com.sun.tools.jconsole.JConsoleContext in project visualgc_java8 by beansoft.

the class PluginAdapter method getTabs.

@Override
public Map<String, JPanel> getTabs() {
    topthreadsPanel = new TopThreadsPanel();
    addContextPropertyChangeListener(new ConnectionListener());
    // See if we've got a connection right now
    JConsoleContext ctx = getContext();
    if (ctx != null && JConsoleContext.ConnectionState.CONNECTED.equals(ctx.getConnectionState())) {
        MBeanServerConnection connection = getContext().getMBeanServerConnection();
        if (connection != null)
            topthreadsPanel.connect(connection);
    }
    return Collections.singletonMap(TAB_NAME, (JPanel) topthreadsPanel);
}
Also used : JConsoleContext(com.sun.tools.jconsole.JConsoleContext) MBeanServerConnection(javax.management.MBeanServerConnection)

Aggregations

JConsoleContext (com.sun.tools.jconsole.JConsoleContext)2 MBeanServerConnection (javax.management.MBeanServerConnection)2 ConnectionState (com.sun.tools.jconsole.JConsoleContext.ConnectionState)1 PropertyChangeEvent (java.beans.PropertyChangeEvent)1 IOException (java.io.IOException)1 CliInitializationException (org.jboss.as.cli.CliInitializationException)1 CommandContext (org.jboss.as.cli.CommandContext)1 ModelControllerClient (org.jboss.as.controller.client.ModelControllerClient)1 ExistingChannelModelControllerClient (org.jboss.as.controller.client.impl.ExistingChannelModelControllerClient)1 RemotingMBeanServerConnection (org.jboss.remotingjmx.RemotingMBeanServerConnection)1