You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gd...@apache.org on 2004/07/27 04:14:15 UTC
cvs commit: incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx JMXSetAttributeInvoker.java JMXGetAttributeInvoker.java VMMethodInterceptor.java CGLibMethodInterceptor.java
gdamour 2004/07/26 19:14:15
Modified: modules/kernel/src/java/org/apache/geronimo/gbean/jmx
JMXSetAttributeInvoker.java
JMXGetAttributeInvoker.java
VMMethodInterceptor.java
CGLibMethodInterceptor.java
Log:
JMX GBeanInvokers implement the same attribute naming conventions than the Raw ones.
Previously the JMX GBeanInvokers were following the JMX standards. As pointed out by Dain,
this was an issue as remote MBean proxies were using the JMX GBeanInvokers. Hence, remote MBean
proxies of GBeanMBeans were not working properly.
Revision Changes Path
1.4 +3 -3 incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/JMXSetAttributeInvoker.java
Index: JMXSetAttributeInvoker.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/JMXSetAttributeInvoker.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JMXSetAttributeInvoker.java 14 Jul 2004 00:27:42 -0000 1.3
+++ JMXSetAttributeInvoker.java 27 Jul 2004 02:14:13 -0000 1.4
@@ -35,9 +35,9 @@
private final String name;
private final Class[] declaredExceptions;
- public JMXSetAttributeInvoker(MBeanServerConnection server, Method method) {
+ public JMXSetAttributeInvoker(MBeanServerConnection server, Method method, String name) {
this.server = server;
- name = method.getName().substring(3);
+ this.name = name;
declaredExceptions = method.getExceptionTypes();
}
1.4 +3 -8 incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/JMXGetAttributeInvoker.java
Index: JMXGetAttributeInvoker.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/JMXGetAttributeInvoker.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JMXGetAttributeInvoker.java 14 Jul 2004 00:27:42 -0000 1.3
+++ JMXGetAttributeInvoker.java 27 Jul 2004 02:14:13 -0000 1.4
@@ -34,14 +34,9 @@
private final String name;
private final Class[] declaredExceptions;
- public JMXGetAttributeInvoker(MBeanServerConnection server, Method method) {
+ public JMXGetAttributeInvoker(MBeanServerConnection server, Method method, String name) {
this.server = server;
-
- if (method.getName().startsWith("is")) {
- name = method.getName().substring(2);
- } else {
- name = method.getName().substring(3);
- }
+ this.name = name;
declaredExceptions = method.getExceptionTypes();
}
1.2 +23 -7 incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/VMMethodInterceptor.java
Index: VMMethodInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/VMMethodInterceptor.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- VMMethodInterceptor.java 2 Jun 2004 06:49:23 -0000 1.1
+++ VMMethodInterceptor.java 27 Jul 2004 02:14:14 -0000 1.2
@@ -16,6 +16,7 @@
*/
package org.apache.geronimo.gbean.jmx;
+import java.beans.Introspector;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.util.HashMap;
@@ -146,16 +147,31 @@
String name = method.getName();
if (name.startsWith("get")) {
- if (attributes.containsKey(name.substring(3))) {
- return new JMXGetAttributeInvoker(server, method);
+ String attrName = method.getName().substring(3);
+ if (attributes.containsKey(attrName)) {
+ return new JMXGetAttributeInvoker(server, method, attrName);
+ }
+ attrName = Introspector.decapitalize(attrName);
+ if (attributes.containsKey(attrName)) {
+ return new JMXGetAttributeInvoker(server, method, attrName);
}
} else if (name.startsWith("is")) {
- if (attributes.containsKey(name.substring(2))) {
- return new JMXGetAttributeInvoker(server, method);
+ String attrName = method.getName().substring(2);
+ if (attributes.containsKey(attrName)) {
+ return new JMXGetAttributeInvoker(server, method, attrName);
+ }
+ attrName = Introspector.decapitalize(attrName);
+ if (attributes.containsKey(attrName)) {
+ return new JMXGetAttributeInvoker(server, method, attrName);
}
} else if (name.startsWith("set")) {
- if (attributes.containsKey(name.substring(3))) {
- return new JMXSetAttributeInvoker(server, method);
+ String attrName = method.getName().substring(3);
+ if (attributes.containsKey(attrName)) {
+ return new JMXSetAttributeInvoker(server, method, attrName);
+ }
+ attrName = Introspector.decapitalize(attrName);
+ if (attributes.containsKey(attrName)) {
+ return new JMXSetAttributeInvoker(server, method, attrName);
}
}
return null;
1.5 +22 -7 incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/CGLibMethodInterceptor.java
Index: CGLibMethodInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/CGLibMethodInterceptor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CGLibMethodInterceptor.java 14 Jul 2004 00:34:47 -0000 1.4
+++ CGLibMethodInterceptor.java 27 Jul 2004 02:14:14 -0000 1.5
@@ -245,16 +245,31 @@
String name = method.getName();
if (name.startsWith("get")) {
- if (attributes.containsKey(method.getName().substring(3))) {
- return new JMXGetAttributeInvoker(server, method);
+ String attrName = method.getName().substring(3);
+ if (attributes.containsKey(attrName)) {
+ return new JMXGetAttributeInvoker(server, method, attrName);
+ }
+ attrName = Introspector.decapitalize(attrName);
+ if (attributes.containsKey(attrName)) {
+ return new JMXGetAttributeInvoker(server, method, attrName);
}
} else if (name.startsWith("is")) {
- if (attributes.containsKey(method.getName().substring(2))) {
- return new JMXGetAttributeInvoker(server, method);
+ String attrName = method.getName().substring(2);
+ if (attributes.containsKey(attrName)) {
+ return new JMXGetAttributeInvoker(server, method, attrName);
+ }
+ attrName = Introspector.decapitalize(attrName);
+ if (attributes.containsKey(attrName)) {
+ return new JMXGetAttributeInvoker(server, method, attrName);
}
} else if (name.startsWith("set")) {
- if (attributes.containsKey(method.getName().substring(3))) {
- return new JMXSetAttributeInvoker(server, method);
+ String attrName = method.getName().substring(3);
+ if (attributes.containsKey(attrName)) {
+ return new JMXSetAttributeInvoker(server, method, attrName);
+ }
+ attrName = Introspector.decapitalize(attrName);
+ if (attributes.containsKey(attrName)) {
+ return new JMXSetAttributeInvoker(server, method, attrName);
}
}
return null;