|
62 | 62 | import java.util.Map;
|
63 | 63 | import java.util.Set;
|
64 | 64 | import java.util.concurrent.atomic.AtomicInteger;
|
| 65 | +import java.util.logging.Level; |
| 66 | +import java.util.logging.Logger; |
65 | 67 | import javax.management.remote.JMXServiceURL;
|
66 | 68 | import javax.swing.BorderFactory;
|
67 | 69 | import javax.swing.JCheckBox;
|
@@ -94,6 +96,8 @@ public class JmxApplicationProvider {
|
94 | 96 | //
|
95 | 97 | // -------------------------------------------------------------------------
|
96 | 98 |
|
| 99 | + private final static Logger LOGGER = Logger.getLogger(ProxyClient.class.getName()); |
| 100 | + |
97 | 101 | private static final String SNAPSHOT_VERSION = "snapshot_version"; // NOI18N
|
98 | 102 | private static final String SNAPSHOT_VERSION_DIVIDER = "."; // NOI18N
|
99 | 103 | private static final String CURRENT_SNAPSHOT_VERSION_MAJOR = "1"; // NOI18N
|
@@ -400,10 +404,20 @@ private void scheduleHeartbeatImpl(boolean immediately) {
|
400 | 404 | @Override
|
401 | 405 | public void run() {
|
402 | 406 | try {
|
403 |
| - JmxModel model = new JmxModelProvider().createModelFor(app); |
404 |
| - if (model == null || model.getConnectionState() != ConnectionState.CONNECTED) { |
| 407 | + boolean connected = false; |
| 408 | + try { |
| 409 | + ProxyClient client = new ProxyClient(app); |
| 410 | + client.connect(); |
| 411 | + if (client.getConnectionState() == ConnectionState.CONNECTED) { |
| 412 | + app.setClient(client); |
| 413 | + connected = true; |
| 414 | + } |
| 415 | + } catch (IOException ex) { |
| 416 | + LOGGER.log(Level.FINE, "ProxyClient.connect", ex); |
| 417 | + } |
| 418 | + if (!connected) { |
405 | 419 | synchronized (unavailableApps) { unavailableApps.add(app); }
|
406 |
| - } else { |
| 420 | + } else { |
407 | 421 | app.setStateImpl(Stateful.STATE_AVAILABLE);
|
408 | 422 |
|
409 | 423 | app.jmxModel = JmxModelFactory.getJmxModelFor(app);
|
|
0 commit comments