Hi,
I brought this problem some weeks ago, but I didn't hear anything.
Today, I made a junit test case to demonstrate this problem and also a
patch to fix this problem. This problem only affects the standalone
setup (i.e., not using the framework's server).
In short, the init method of
org.apache.cxf.management.jmx.InstrumentationManagerImpl class has the
problem when it is running in the standalone mode. This problem causes
each instance of this InstrumentationManagerImpl to instantiate a new
MBeanServer because the lookup into MBeanServerFactory.findMBeanServer
is done by using the wrong argument.
The current code does the lookup using the following line::
MBeanServerFactory.findMBean|Sever(mbeanServerName),
where mbeanServerName is set to "org.apache.cxf", which is the default
domain name for the server. However, this find method expects the
agendId, which is not the domain name but the ID attribute of the
server.
As each call to the above method finds no server, a new server is
created for each call and placed in the MBeanServerFactory's internal
map. This can lead to memory leak and it is also causing the JMX
console to show only one bus instance in this case.
I changed this class so that the lookup is correctly done for the
given domain so that all the bus instances are visible in the server.
I can create a JIRA ticket and attach the patch and the unit test
class. I did this attaching thing in JIRA several times but I have a
quesiton when I have a new file and not just changed files. Should I
add the new file in svn (ie. using svn add) first and then attach the
svn diff file to the ticket? Or should I attach the file itself to the
ticket?
Thanks.
Regards, Aki
Regards, aki