You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2006/02/06 09:39:55 UTC
svn commit: r375222 - in /incubator/servicemix/trunk:
servicemix-common/src/main/java/org/apache/servicemix/common/
servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/
servicemix-core/src/main/java/org/apache/servicemix/jbi/management/
Author: gnodet
Date: Mon Feb 6 00:39:54 2006
New Revision: 375222
URL: http://svn.apache.org/viewcvs?rev=375222&view=rev
Log:
Change mbeans name generation to keep properties order and add a sub-type for mbeans related to components.
Display in jconsole is much nicer now.
Modified:
incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/BaseLifeCycle.java
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentContextImpl.java
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentMBeanImpl.java
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentStatsMBeanImpl.java
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/LocalComponentConnector.java
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseLifeCycle.java
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/MBeanInfoProvider.java
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java
Modified: incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/BaseLifeCycle.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/BaseLifeCycle.java?rev=375222&r1=375221&r2=375222&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/BaseLifeCycle.java (original)
+++ incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/BaseLifeCycle.java Mon Feb 6 00:39:54 2006
@@ -84,7 +84,7 @@
}
protected ObjectName createExtensionMBeanName() throws Exception {
- return this.context.getMBeanNames().createCustomComponentMBeanName("extension");
+ return this.context.getMBeanNames().createCustomComponentMBeanName("Configuration");
}
/* (non-Javadoc)
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentContextImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentContextImpl.java?rev=375222&r1=375221&r2=375222&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentContextImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentContextImpl.java Mon Feb 6 00:39:54 2006
@@ -219,7 +219,7 @@
* @return the JMX ObjectName of the MBean, or <code>null</code> if <code>customName</code> is invalid.
*/
public ObjectName createCustomComponentMBeanName(String customName) {
- return container.getManagementContext().createCustomComponentMBeanName(componentName.getName(), customName);
+ return container.getManagementContext().createCustomComponentMBeanName(customName, componentName.getName());
}
/**
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentMBeanImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentMBeanImpl.java?rev=375222&r1=375221&r2=375222&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentMBeanImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentMBeanImpl.java Mon Feb 6 00:39:54 2006
@@ -74,6 +74,10 @@
return "Component";
}
+ public String getSubType() {
+ return "LifeCycle";
+ }
+
/**
* Get the Description of the item
* @return the description
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentStatsMBeanImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentStatsMBeanImpl.java?rev=375222&r1=375221&r2=375222&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentStatsMBeanImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/ComponentStatsMBeanImpl.java Mon Feb 6 00:39:54 2006
@@ -53,7 +53,19 @@
* @return the type
*/
public String getType() {
- return "ComponentStats";
+ return "Component";
+ }
+
+ public String getSubType() {
+ return "Statistics";
+ }
+
+ /**
+ * Get the name of the item
+ * @return the name
+ */
+ public String getName(){
+ return connector.getComponentNameSpace().getName();
}
/**
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/LocalComponentConnector.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/LocalComponentConnector.java?rev=375222&r1=375221&r2=375222&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/LocalComponentConnector.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/LocalComponentConnector.java Mon Feb 6 00:39:54 2006
@@ -17,7 +17,6 @@
import java.io.File;
import java.io.IOException;
-import java.util.Hashtable;
import java.util.Properties;
import java.util.Set;
@@ -94,13 +93,11 @@
*/
public ObjectName registerMBeans(ManagementContext context) throws JBIException{
try{
- ObjectName result=context.createObjectName(componentMBean);
- context.registerMBean(result,componentMBean,ComponentMBean.class);
+ ObjectName result = context.createObjectName(componentMBean);
+ context.registerMBean(result, componentMBean, ComponentMBean.class);
componentMBean.setObjectName(result);
- Hashtable props = context.createObjectNameProps(componentStatsMBean);
- props.put("stats","true");
- ObjectName objName=context.createObjectName(props);
- context.registerMBean(objName,componentStatsMBean,ComponentStatsMBean.class);
+ ObjectName objName = context.createObjectName(componentStatsMBean);
+ context.registerMBean(objName, componentStatsMBean, ComponentStatsMBean.class);
componentStatsMBean.setObjectName(objName);
return result;
}catch(Exception e){
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseLifeCycle.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseLifeCycle.java?rev=375222&r1=375221&r2=375222&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseLifeCycle.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseLifeCycle.java Mon Feb 6 00:39:54 2006
@@ -60,6 +60,10 @@
return name;
}
+ public String getSubType() {
+ return null;
+ }
+
/**
* set state to initialized
* @throws JBIException
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/MBeanInfoProvider.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/MBeanInfoProvider.java?rev=375222&r1=375221&r2=375222&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/MBeanInfoProvider.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/MBeanInfoProvider.java Mon Feb 6 00:39:54 2006
@@ -62,6 +62,12 @@
public String getType();
/**
+ * Get the type of this mbean
+ * @return the type
+ */
+ public String getSubType();
+
+ /**
* Get the Description of the item
* @return the description
*/
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java?rev=375222&r1=375221&r2=375222&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java Mon Feb 6 00:39:54 2006
@@ -17,8 +17,8 @@
import java.io.IOException;
import java.util.Collection;
-import java.util.Hashtable;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.Map;
import javax.jbi.JBIException;
import javax.management.JMException;
@@ -338,7 +338,12 @@
* @return the JMX ObjectName of the MBean, or <code>null</code> if <code>customName</code> is invalid.
*/
public ObjectName createCustomComponentMBeanName(String type, String name) {
- return mbeanServerContext.createCustomComponentMBeanName(type, name);
+ Map result = new LinkedHashMap();
+ result.put("container", container.getName());
+ result.put("type", "Component");
+ result.put("name", sanitizeString(name));
+ result.put("subtype", sanitizeString(type));
+ return createObjectName(result);
}
@@ -349,18 +354,8 @@
* @return the ObjectName
*/
public ObjectName createObjectName(MBeanInfoProvider provider) {
- ObjectName result = null;
- try {
- Hashtable tmp = createObjectNameProps(provider);
- result = new ObjectName(getJmxDomainName(),tmp);
- }
- catch (MalformedObjectNameException e) {
- // shouldn't happen
- String error = "Could not create ObjectName for " + provider.getClass() + ", " + provider.getName();
- log.error(error, e);
- throw new RuntimeException(error);
- }
- return result;
+ Map props = createObjectNameProps(provider);
+ return createObjectName(props);
}
/**
@@ -389,10 +384,20 @@
*
* @return the ObjectName
*/
- public ObjectName createObjectName(String domain,Hashtable props) {
+ public ObjectName createObjectName(String domain, Map props) {
+ StringBuffer sb = new StringBuffer();
+ sb.append(domain).append(':');
+ int i = 0;
+ for (Iterator it = props.entrySet().iterator(); it.hasNext();) {
+ Map.Entry entry = (Map.Entry) it.next();
+ if (i++ > 0) {
+ sb.append(",");
+ }
+ sb.append(entry.getKey()).append("=").append(entry.getValue());
+ }
ObjectName result = null;
try {
- result = new ObjectName(domain,props);
+ result = new ObjectName(sb.toString());
}
catch (MalformedObjectNameException e) {
// shouldn't happen
@@ -409,30 +414,24 @@
*
* @return the ObjectName
*/
- public ObjectName createObjectName(Hashtable props) {
- ObjectName result = null;
- try {
- result = new ObjectName(getJmxDomainName(),props);
- }
- catch (MalformedObjectNameException e) {
- // shouldn't happen
- String error = "Could not create ObjectName for " + props;
- log.error(error, e);
- throw new RuntimeException(error);
- }
- return result;
+ public ObjectName createObjectName(Map props) {
+ return createObjectName(getJmxDomainName(), props);
}
+
/**
* Create a String used to create an ObjectName
*
* @param provider
* @return the ObjectName
*/
- public Hashtable createObjectNameProps(MBeanInfoProvider provider){
- Hashtable result = new Hashtable();
- result.put("container",container.getName());
- result.put("type",sanitizeString(provider.getType()));
- result.put("name",sanitizeString(provider.getName()));
+ public Map createObjectNameProps(MBeanInfoProvider provider){
+ Map result = new LinkedHashMap();
+ result.put("container", container.getName());
+ result.put("type", sanitizeString(provider.getType()));
+ result.put("name", sanitizeString(provider.getName()));
+ if (provider.getSubType() != null) {
+ result.put("subtype", sanitizeString(provider.getSubType()));
+ }
return result;
}