# HG changeset patch # User Omair Majid # Date 1408648917 14400 # Node ID 2c1c1a1613963adaab294f1e19bf456cceb1b161 # Parent ff297a6f60ef035c02432b0dc3c9deb1b0473f72 Debug message for management agent Reviewed-by: vanaltj Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2014-August/010516.html PR1941 diff -r ff297a6f60ef -r 2c1c1a161396 agent/proxy/server/src/main/java/com/redhat/thermostat/agent/proxy/server/AgentProxyControlImpl.java --- a/agent/proxy/server/src/main/java/com/redhat/thermostat/agent/proxy/server/AgentProxyControlImpl.java Tue Jun 03 11:57:38 2014 -0600 +++ b/agent/proxy/server/src/main/java/com/redhat/thermostat/agent/proxy/server/AgentProxyControlImpl.java Thu Aug 21 15:21:57 2014 -0400 @@ -41,6 +41,7 @@ import java.rmi.RemoteException; import java.util.Properties; import java.util.Set; +import java.util.logging.Logger; import javax.security.auth.Subject; @@ -49,8 +50,12 @@ import com.sun.tools.attach.AttachNotSupportedException; import com.sun.tools.attach.VirtualMachine; +import com.redhat.thermostat.common.utils.LoggingUtils; + class AgentProxyControlImpl { + private static final Logger logger = LoggingUtils.getLogger(AgentProxyControlImpl.class); + private static final String CONNECTOR_ADDRESS_PROPERTY = "com.sun.management.jmxremote.localConnectorAddress"; private final int pid; @@ -78,16 +83,23 @@ Properties props = vm.getAgentProperties(); connectorAddress = props.getProperty(CONNECTOR_ADDRESS_PROPERTY); if (connectorAddress == null) { - props = vm.getSystemProperties(); - String home = props.getProperty("java.home"); - String agent = home + File.separator + "lib" + File.separator + "management-agent.jar"; - vm.loadAgent(agent); - - props = vm.getAgentProperties(); - connectorAddress = props.getProperty(CONNECTOR_ADDRESS_PROPERTY); + String home = null; + String agent = null; + try { + props = vm.getSystemProperties(); + home = props.getProperty("java.home"); + agent = home + File.separator + "lib" + File.separator + "management-agent.jar"; + logger.fine("Loading '" + agent + "' into VM (pid: " + pid + ")"); + vm.loadAgent(agent); + + props = vm.getAgentProperties(); + connectorAddress = props.getProperty(CONNECTOR_ADDRESS_PROPERTY); + } catch (IOException | AgentLoadException | AgentInitializationException e) { + throw new RemoteException("Failed to load agent ('" + agent + "', from home '" + home + "') into VM (pid: " + pid + ")", e); + } } - } catch (AttachNotSupportedException | IOException | AgentLoadException | AgentInitializationException e) { - throw new RemoteException("Failed to attach to VM", e); + } catch (AttachNotSupportedException | IOException e) { + throw new RemoteException("Failed to attach to VM (pid: " + pid + ")", e); } }