-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
2.0.1.Final
-
None
We see the memory leak with the RemoteConnectionChannel.java when we try to use the JBOSS mbean server connection in web application.
We initialize the JMX connection factory as below
try { this.jmxConnector = JMXConnectorFactory.connect(serviceURL, auth); if (this.jmxConnector != null) { MBeanServerConnection mbs = this.jmxConnector.getMBeanServerConnection(); if (mbs != null) { this.mbs = mbs; } } } catch (IOException e) { connected = false; }
Then use mbean server connection after scheduled interval say 60 secs to read the mbeans from above mbean server connection.
private Map<String, Object> getAttributesForMBean(ObjectName objectName, List<String> attributeNames) { HashMap<String, Object> attributeMap = new HashMap<String, Object>(); for (String attributeName : attributeNames) { Object attributeValue = null; if (this.hasAttribute(objectName, attributeName)) { try { attributeValue = this.mbs.getAttribute(objectName, attributeName); } catch (Exception e) { logger.warn("In getAttributes(), for " + objectName + ": " , e); } } attributeMap.put(attributeName, attributeValue); } return attributeMap; }
We see that RemoteConnectionChannel keeps accumulating XnioWorkerTaskPool and leads to memory leak.