You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2003/08/17 01:16:55 UTC
cvs commit: incubator-geronimo/modules/core/src/java/org/apache/geronimo/jmx Relationship.java JMXUtil.java RelationshipMBean.java
dain 2003/08/16 16:16:55
Modified: modules/core/src/java/org/apache/geronimo/jmx
Relationship.java JMXUtil.java
RelationshipMBean.java
Log:
Initial revision of deployment dependency management system.
Revision Changes Path
1.4 +17 -34 incubator-geronimo/modules/core/src/java/org/apache/geronimo/jmx/Relationship.java
Index: Relationship.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/jmx/Relationship.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Relationship.java 13 Aug 2003 21:17:28 -0000 1.3
+++ Relationship.java 16 Aug 2003 23:16:55 -0000 1.4
@@ -55,25 +55,22 @@
*/
package org.apache.geronimo.jmx;
-import javax.management.MBeanRegistration;
-import javax.management.ObjectName;
-import javax.management.MBeanServer;
-import javax.management.relation.RoleInfo;
import javax.management.relation.RelationServiceMBean;
import javax.management.relation.RelationServiceNotRegisteredException;
import javax.management.relation.RelationTypeNotFoundException;
+import javax.management.relation.RoleInfo;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.common.AbstractStateManageable;
/**
*
*
* @version $Revision$ $Date$
*/
-public class Relationship implements MBeanRegistration, RelationshipMBean{
+public class Relationship extends AbstractStateManageable implements RelationshipMBean {
private final Log log = LogFactory.getLog(getClass());
- private MBeanServer server;
private String name;
@@ -95,25 +92,21 @@
private int rightRoleMaximum = RoleInfo.ROLE_CARDINALITY_INFINITY;
private String rightRoleDescription;
- public ObjectName preRegister(MBeanServer server, ObjectName objectName) throws Exception {
- if(objectName == null) {
- // we have no way to generate a logical default name
- throw new IllegalArgumentException("Name cannot be null");
- }
- this.server = server;
- return objectName;
- }
-
- public void postRegister(Boolean aBoolean) {
- }
-
public void preDeregister() throws Exception {
+ RelationServiceMBean relationService = JMXUtil.getRelationService(server);
+ try {
+ relationService.removeRelationType(name);
+ } catch (IllegalArgumentException e) {
+ log.warn("Could not remove relation type: name=" + name, e);
+ } catch (RelationServiceNotRegisteredException e) {
+ log.warn("Could not remove relation type: name=" + name, e);
+ } catch (RelationTypeNotFoundException e) {
+ log.warn("Could not remove relation type: name=" + name, e);
+ }
+ super.preDeregister();
}
- public void postDeregister() {
- }
-
- public void create() throws Exception {
+ public void doStart() throws Exception {
RelationServiceMBean relationService = JMXUtil.getRelationService(server);
RoleInfo[] roleInfo = {
new RoleInfo(leftRoleName, leftRoleClass, leftRoleReadable, leftRoleWritable, leftRoleMinimum, leftRoleMaximum, leftRoleDescription),
@@ -123,17 +116,7 @@
relationService.createRelationType(name, roleInfo);
}
- public void destroy() {
- RelationServiceMBean relationService = JMXUtil.getRelationService(server);
- try {
- relationService.removeRelationType(name);
- } catch (IllegalArgumentException e) {
- log.warn("Could not remove relation type: name=" + name, e);
- } catch (RelationServiceNotRegisteredException e) {
- log.warn("Could not remove relation type: name=" + name, e);
- } catch (RelationTypeNotFoundException e) {
- log.warn("Could not remove relation type: name=" + name, e);
- }
+ public void doStop() throws Exception {
}
public String getName() {
1.3 +12 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/jmx/JMXUtil.java
Index: JMXUtil.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/jmx/JMXUtil.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JMXUtil.java 11 Aug 2003 17:59:12 -0000 1.2
+++ JMXUtil.java 16 Aug 2003 23:16:55 -0000 1.3
@@ -60,6 +60,8 @@
import javax.management.ObjectName;
import javax.management.relation.RelationServiceMBean;
+import org.apache.geronimo.deployment.dependency.DependencyServiceMBean;
+
/**
* Helper class for JMX Operations
*
@@ -67,9 +69,13 @@
* @version $Revision$ $Date$
*/
public class JMXUtil {
+ private JMXUtil() {
+ }
+
/** the ObjectName of the MBeanServerDelegate */
public static final ObjectName DELEGATE_NAME = getObjectName("JMImplementation:type=MBeanServerDelegate");
public static final ObjectName RELATION_SERVICE_NAME = getObjectName("geronimo.boot:role=RelationService");
+ public static final ObjectName DEPENDENCY_SERVICE_NAME = getObjectName("geronimo.boot:role=DependencyService");
/**
* Convert a String to an ObjectName
@@ -86,6 +92,10 @@
}
public static RelationServiceMBean getRelationService(MBeanServer server) {
- return (RelationServiceMBean) MBeanProxyFactory.getProxy(RelationServiceMBean.class, server, JMXUtil.RELATION_SERVICE_NAME);
+ return (RelationServiceMBean) MBeanProxyFactory.getProxy(RelationServiceMBean.class, server, RELATION_SERVICE_NAME);
+ }
+
+ public static DependencyServiceMBean getDependencyService(MBeanServer server) {
+ return (DependencyServiceMBean) MBeanProxyFactory.getProxy(DependencyServiceMBean.class, server, DEPENDENCY_SERVICE_NAME);
}
}
1.2 +4 -6 incubator-geronimo/modules/core/src/java/org/apache/geronimo/jmx/RelationshipMBean.java
Index: RelationshipMBean.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/jmx/RelationshipMBean.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RelationshipMBean.java 12 Aug 2003 23:26:15 -0000 1.1
+++ RelationshipMBean.java 16 Aug 2003 23:16:55 -0000 1.2
@@ -55,16 +55,14 @@
*/
package org.apache.geronimo.jmx;
+import org.apache.geronimo.common.StateManageable;
+
/**
*
*
* @version $Revision$ $Date$
*/
-public interface RelationshipMBean {
- void create() throws Exception;
-
- void destroy();
-
+public interface RelationshipMBean extends StateManageable {
String getName();
void setName(String name);