
| Key: |
MULE-3522
|
| Type: |
Bug
|
| Status: |
Open
|
| Priority: |
To be reviewed
|
| Assignee: |
Unassigned
|
| Reporter: |
Karol Slanina
|
| Votes: |
0
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
|
Environment:
|
JDK 1.6.0_06, Tomcat 6.0 (but probably the same would happen in other environments, too)
|
|
Issue Links:
|
Related
|
|
|
|
This issue relates to:
|
|
|
MULE-3482 Dynamically created components are not registered in JMX
|
|
|
|
|
|
|
| Labels: |
|
| User impact: |
High
|
| Configuration: |
dynamically created configuration; ManagerNotification.MANAGER_STARTED_MODELS fired after most of the reconfigurations (is this the right notification to be fired?)
|
JmxAgent listens to server notifications and would call a number of registerXYZService() methods to update the MBeans after each received notification. However, it seems that the implementation of this functionality is not finished in version 1.4.4. JmxAgent only attempts to add the currently existing components, endpoints, etc. to the MBeanServer, but it does not care whether these have already been registered, or whether some of the previously registered objects have been removed from the model in the meantime.
The most serious consequence is that when the second notification is fired, InstanceAlreadyExistsException will most likely be thrown and Mule would be stopped.
Solution:
1. In all registerXYZService() methods, check the registeredMBeans list for the presence of the added MBeans. If the list already contains a MBean with the same ObjectName, either remove the old MBean from the MBeanServer before the registration of the new one, or do not create a new MBean at all.
2. Identify the no-longer-needed MBeans in registeredMBeans and remove them from the MBeanServer.
|
|
Description
|
JmxAgent listens to server notifications and would call a number of registerXYZService() methods to update the MBeans after each received notification. However, it seems that the implementation of this functionality is not finished in version 1.4.4. JmxAgent only attempts to add the currently existing components, endpoints, etc. to the MBeanServer, but it does not care whether these have already been registered, or whether some of the previously registered objects have been removed from the model in the meantime.
The most serious consequence is that when the second notification is fired, InstanceAlreadyExistsException will most likely be thrown and Mule would be stopped.
Solution:
1. In all registerXYZService() methods, check the registeredMBeans list for the presence of the added MBeans. If the list already contains a MBean with the same ObjectName, either remove the old MBean from the MBeanServer before the registration of the new one, or do not create a new MBean at all.
2. Identify the no-longer-needed MBeans in registeredMBeans and remove them from the MBeanServer. |
Show » |
| There are no comments yet on this issue.
|
|