Petals CDK

Be able to extend the runtime configuration MBean

Details

  • Type: Task Task
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 5.7.1
  • Fix Version/s: 5.8.0
  • Component/s: configuration, runtime
  • Security Level: Public
  • Description:

    The CDK embeds a runtime configuration MBean to hot-change its configuration. We should be able to use the same MBean to hot-change custom parameter defined at component level.

  • Environment:
    -

Issue Links

Activity

Hide
Christophe DENEUX added a comment - Thu, 12 Dec 2019 - 13:13:50 +0100

The runtime configuration MBean can be extended. Added in trunk.

Show
Christophe DENEUX added a comment - Thu, 12 Dec 2019 - 13:13:50 +0100 The runtime configuration MBean can be extended. Added in trunk.
Hide
Christophe DENEUX added a comment - Thu, 26 Mar 2020 - 15:19:51 +0100

Reopened because a regression was introduced. The following error occurs accessing the installation configuration MBean of the Petals SE RMI:

2020/03/26 15:07:35,231 GMT+0100 WARNING [Petals.Container.Components.petals-se-rmi.bootstrap.petals-se-rmi] : Failed to get attribute 'embeddedregistry' in the configuration MBean
javax.management.AttributeNotFoundException: Attribute 'embeddedregistry' does not exist
	at org.ow2.petals.component.framework.mbean.AbstractConfigurationMBean.getAttributeAsComponentJbiParam(AbstractConfigurationMBean.java:727)
	at org.ow2.petals.component.framework.mbean.AbstractConfigurationMBean.getAttribute(AbstractConfigurationMBean.java:670)
	at org.ow2.petals.component.framework.mbean.AbstractConfigurationMBean.getAttributes(AbstractConfigurationMBean.java:306)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttributes(DefaultMBeanServerInterceptor.java:709)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttributes(JmxMBeanServer.java:705)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1449)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
	at javax.management.remote.rmi.RMIConnectionImpl.getAttributes(RMIConnectionImpl.java:675)
	at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
        ...
Show
Christophe DENEUX added a comment - Thu, 26 Mar 2020 - 15:19:51 +0100 Reopened because a regression was introduced. The following error occurs accessing the installation configuration MBean of the Petals SE RMI:
2020/03/26 15:07:35,231 GMT+0100 WARNING [Petals.Container.Components.petals-se-rmi.bootstrap.petals-se-rmi] : Failed to get attribute 'embeddedregistry' in the configuration MBean
javax.management.AttributeNotFoundException: Attribute 'embeddedregistry' does not exist
	at org.ow2.petals.component.framework.mbean.AbstractConfigurationMBean.getAttributeAsComponentJbiParam(AbstractConfigurationMBean.java:727)
	at org.ow2.petals.component.framework.mbean.AbstractConfigurationMBean.getAttribute(AbstractConfigurationMBean.java:670)
	at org.ow2.petals.component.framework.mbean.AbstractConfigurationMBean.getAttributes(AbstractConfigurationMBean.java:306)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttributes(DefaultMBeanServerInterceptor.java:709)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttributes(JmxMBeanServer.java:705)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1449)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
	at javax.management.remote.rmi.RMIConnectionImpl.getAttributes(RMIConnectionImpl.java:675)
	at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
        ...
Hide
Christophe DENEUX added a comment - Thu, 26 Mar 2020 - 15:22:41 +0100 - edited

The problem is due to AbstractConfigurationMBean.getAttributesInfos() that retrieve specific component parameter from the JBI descriptor, and add a custom attribute map that is previously initialized (at constructor level) with also component parameters from the JBI descriptor, but in a different way. So, for Petals SE RMI we retrieve specific component parameters twice, one with the bad name.

Show
Christophe DENEUX added a comment - Thu, 26 Mar 2020 - 15:22:41 +0100 - edited The problem is due to AbstractConfigurationMBean.getAttributesInfos() that retrieve specific component parameter from the JBI descriptor, and add a custom attribute map that is previously initialized (at constructor level) with also component parameters from the JBI descriptor, but in a different way. So, for Petals SE RMI we retrieve specific component parameters twice, one with the bad name.
Hide
Christophe DENEUX added a comment - Thu, 2 Apr 2020 - 18:38:11 +0200

Regression fixed in trunk by svn#43429

Show
Christophe DENEUX added a comment - Thu, 2 Apr 2020 - 18:38:11 +0200 Regression fixed in trunk by svn#43429

People

Dates

  • Created:
    Thu, 12 Dec 2019 - 13:09:27 +0100
    Updated:
    Thu, 2 Apr 2020 - 18:38:11 +0200
    Resolved:
    Thu, 2 Apr 2020 - 18:38:11 +0200