use of org.jboss.remotingjmx.RemotingMBeanServerConnection in project wildfly-core by wildfly.
the class JConsoleCLIPlugin method connectUsingRemoting.
private boolean connectUsingRemoting(CommandContext cmdCtx, RemotingMBeanServerConnection rmtMBeanSvrConn) throws IOException, CliInitializationException {
Connection conn = rmtMBeanSvrConn.getConnection();
Channel channel;
final IoFuture<Channel> futureChannel = conn.openChannel("management", OptionMap.EMPTY);
IoFuture.Status result = futureChannel.await(5, TimeUnit.SECONDS);
if (result == IoFuture.Status.DONE) {
channel = futureChannel.get();
} else {
futureChannel.cancel();
return false;
}
ModelControllerClient modelCtlrClient = ExistingChannelModelControllerClient.createReceiving(channel, createExecutor());
cmdCtx.bindClient(modelCtlrClient);
return true;
}
use of org.jboss.remotingjmx.RemotingMBeanServerConnection 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();
}
}
Aggregations