You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2006/03/06 22:44:37 UTC
svn commit: r383682 [5/5] - in /geronimo/branches/1.1/modules:
connector/src/test/org/apache/geronimo/connector/
connector/src/test/org/apache/geronimo/connector/outbound/
deployment/src/java/org/apache/geronimo/deployment/
j2ee/src/java/org/apache/ger...
Modified: geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/FileConfigurationList.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/FileConfigurationList.java?rev=383682&r1=383681&r2=383682&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/FileConfigurationList.java (original)
+++ geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/FileConfigurationList.java Mon Mar 6 13:44:29 2006
@@ -21,11 +21,14 @@
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.config.ConfigurationInfo;
import org.apache.geronimo.kernel.config.ConfigurationManager;
import org.apache.geronimo.kernel.config.NoSuchStoreException;
import org.apache.geronimo.kernel.config.PersistentConfigurationList;
+import org.apache.geronimo.kernel.config.Configuration;
import org.apache.geronimo.kernel.lifecycle.LifecycleAdapter;
import org.apache.geronimo.kernel.lifecycle.LifecycleListener;
import org.apache.geronimo.kernel.management.State;
@@ -99,13 +102,13 @@
this.serverInfo = serverInfo;
this.configFile = configDir;
this.listener = new LifecycleAdapter() {
- public void stopped(ObjectName objectName) {
+ public void stopped(AbstractName abstractName) {
if (kernelFullyStarted && FileConfigurationList.this.kernel.isRunning()) {
doSave();
}
}
- public void running(ObjectName objectName) {
+ public void running(AbstractName abstractName) {
if (kernelFullyStarted && FileConfigurationList.this.kernel.isRunning()) {
doSave();
}
@@ -130,7 +133,7 @@
throw new IOException("Unable to create directory for list:" + parent);
}
}
- kernel.getLifecycleMonitor().addLifecycleListener(listener, new ObjectName("geronimo.config:*"));
+ kernel.getLifecycleMonitor().addLifecycleListener(listener, new AbstractNameQuery(Configuration.class.getName()));
}
public void doStop() throws Exception {
Modified: geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/jmx/MBeanGBeanBridge.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/jmx/MBeanGBeanBridge.java?rev=383682&r1=383681&r2=383682&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/jmx/MBeanGBeanBridge.java (original)
+++ geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/jmx/MBeanGBeanBridge.java Mon Mar 6 13:44:29 2006
@@ -39,6 +39,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.gbean.GOperationSignature;
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.kernel.NoSuchAttributeException;
import org.apache.geronimo.kernel.NoSuchOperationException;
import org.apache.geronimo.kernel.Kernel;
@@ -59,7 +61,8 @@
/**
* The unique name of this service.
*/
- private final ObjectName objectName;
+ private final AbstractName objectName;
+ private final AbstractNameQuery pattern;
/**
* The mbean info
@@ -72,15 +75,16 @@
private final NotificationBroadcasterSupport notificationBroadcaster = new NotificationBroadcasterSupport();
private final LifecycleBridge lifecycleBridge;
- public MBeanGBeanBridge(Kernel kernel, ObjectName objectName, MBeanInfo mbeanInfo) {
+ public MBeanGBeanBridge(Kernel kernel, AbstractName abstractName, MBeanInfo mbeanInfo) {
this.kernel = kernel;
- this.objectName = objectName;
+ this.objectName = abstractName;
+ this.pattern = new AbstractNameQuery(abstractName);
this.mbeanInfo = mbeanInfo;
- lifecycleBridge = new LifecycleBridge(objectName, notificationBroadcaster);
+ lifecycleBridge = new LifecycleBridge(abstractName, notificationBroadcaster);
}
public ObjectName getObjectName() {
- return objectName;
+ return objectName.getObjectName();
}
public ObjectName preRegister(MBeanServer mBeanServer, ObjectName objectName) throws Exception {
@@ -90,7 +94,7 @@
public void postRegister(Boolean registrationDone) {
if (Boolean.TRUE.equals(registrationDone)) {
// fire the loaded event from the gbeanMBean.. it was already fired from the GBeanInstance when it was created
- kernel.getLifecycleMonitor().addLifecycleListener(lifecycleBridge, objectName);
+ kernel.getLifecycleMonitor().addLifecycleListener(lifecycleBridge, pattern);
lifecycleBridge.loaded(objectName);
}
}
@@ -198,57 +202,57 @@
/**
* Name of the MBeanGBean
*/
- private final ObjectName mbeanGBeanName;
+ private final AbstractName mbeanGBeanName;
/**
* The notification broadcaster to use
*/
private final NotificationBroadcasterSupport notificationBroadcaster;
- public LifecycleBridge(ObjectName mbeanGBeanName, NotificationBroadcasterSupport notificationBroadcaster) {
+ public LifecycleBridge(AbstractName mbeanGBeanName, NotificationBroadcasterSupport notificationBroadcaster) {
this.mbeanGBeanName = mbeanGBeanName;
this.notificationBroadcaster = notificationBroadcaster;
}
- public void loaded(ObjectName objectName) {
- if (mbeanGBeanName.equals(objectName)) {
- notificationBroadcaster.sendNotification(new Notification(NotificationType.OBJECT_CREATED, objectName, nextSequence()));
+ public void loaded(AbstractName abstractName) {
+ if (mbeanGBeanName.equals(abstractName)) {
+ notificationBroadcaster.sendNotification(new Notification(NotificationType.OBJECT_CREATED, abstractName.getObjectName(), nextSequence()));
}
}
- public void starting(ObjectName objectName) {
- if (mbeanGBeanName.equals(objectName)) {
- notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_STARTING, objectName, nextSequence()));
+ public void starting(AbstractName abstractName) {
+ if (mbeanGBeanName.equals(abstractName)) {
+ notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_STARTING, abstractName.getObjectName(), nextSequence()));
}
}
- public void running(ObjectName objectName) {
- if (mbeanGBeanName.equals(objectName)) {
- notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_RUNNING, objectName, nextSequence()));
+ public void running(AbstractName abstractName) {
+ if (mbeanGBeanName.equals(abstractName)) {
+ notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_RUNNING, abstractName.getObjectName(), nextSequence()));
}
}
- public void stopping(ObjectName objectName) {
- if (mbeanGBeanName.equals(objectName)) {
- notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_STOPPING, objectName, nextSequence()));
+ public void stopping(AbstractName abstractName) {
+ if (mbeanGBeanName.equals(abstractName)) {
+ notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_STOPPING, abstractName.getObjectName(), nextSequence()));
}
}
- public void stopped(ObjectName objectName) {
- if (mbeanGBeanName.equals(objectName)) {
- notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_STOPPED, objectName, nextSequence()));
+ public void stopped(AbstractName abstractName) {
+ if (mbeanGBeanName.equals(abstractName)) {
+ notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_STOPPED, abstractName.getObjectName(), nextSequence()));
}
}
- public void failed(ObjectName objectName) {
- if (mbeanGBeanName.equals(objectName)) {
- notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_FAILED, objectName, nextSequence()));
+ public void failed(AbstractName abstractName) {
+ if (mbeanGBeanName.equals(abstractName)) {
+ notificationBroadcaster.sendNotification(new Notification(NotificationType.STATE_FAILED, abstractName.getObjectName(), nextSequence()));
}
}
- public void unloaded(ObjectName objectName) {
- if (mbeanGBeanName.equals(objectName)) {
- notificationBroadcaster.sendNotification(new Notification(NotificationType.OBJECT_DELETED, objectName, nextSequence()));
+ public void unloaded(AbstractName abstractName) {
+ if (mbeanGBeanName.equals(abstractName)) {
+ notificationBroadcaster.sendNotification(new Notification(NotificationType.OBJECT_DELETED, abstractName.getObjectName(), nextSequence()));
}
}
Modified: geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/jmx/MBeanServerKernelBridge.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/jmx/MBeanServerKernelBridge.java?rev=383682&r1=383681&r2=383682&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/jmx/MBeanServerKernelBridge.java (original)
+++ geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/jmx/MBeanServerKernelBridge.java Mon Mar 6 13:44:29 2006
@@ -21,6 +21,7 @@
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import java.util.Collections;
import javax.management.InstanceAlreadyExistsException;
import javax.management.InstanceNotFoundException;
import javax.management.JMException;
@@ -35,6 +36,8 @@
import org.apache.geronimo.gbean.GBeanLifecycle;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.kernel.GBeanNotFoundException;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.jmx.JMXUtil;
@@ -48,7 +51,7 @@
private final HashMap registry = new HashMap();
private final Kernel kernel;
private final MBeanServer mbeanServer;
- private static final ObjectName ALL = JMXUtil.getObjectName("*:*");
+ private static final AbstractNameQuery ALL = new AbstractNameQuery(Collections.EMPTY_LIST, Collections.EMPTY_MAP, Collections.EMPTY_SET);
public MBeanServerKernelBridge(Kernel kernel, String mbeanServerId) throws MBeanServerNotFound {
this.kernel = kernel;
@@ -69,21 +72,21 @@
synchronized (this) {
Set allNames = kernel.listGBeans(ALL);
for (Iterator iterator = allNames.iterator(); iterator.hasNext();) {
- ObjectName objectName = (ObjectName) iterator.next();
- if (registry.containsKey(objectName)) {
+ AbstractName abstractName = (AbstractName) iterator.next();
+ if (registry.containsKey(abstractName.getObjectName())) {
// instance already registered
continue;
}
- MBeanInfo mbeanInfo = null;
+ MBeanInfo mbeanInfo;
try {
- mbeanInfo = JMXUtil.toMBeanInfo(kernel.getGBeanInfo(objectName));
+ mbeanInfo = JMXUtil.toMBeanInfo(kernel.getGBeanInfo(abstractName));
} catch (GBeanNotFoundException e) {
// ignore - gbean already unregistered
continue;
}
- MBeanGBeanBridge mbeanGBeanBridge = new MBeanGBeanBridge(kernel, objectName, mbeanInfo);
- registry.put(objectName, mbeanGBeanBridge);
- beans.put(objectName, mbeanGBeanBridge);
+ MBeanGBeanBridge mbeanGBeanBridge = new MBeanGBeanBridge(kernel, abstractName, mbeanInfo);
+ registry.put(abstractName.getObjectName(), mbeanGBeanBridge);
+ beans.put(abstractName.getObjectName(), mbeanGBeanBridge);
}
}
for (Iterator iterator = beans.entrySet().iterator(); iterator.hasNext();) {
@@ -121,18 +124,18 @@
}
}
- private void register(ObjectName objectName) {
+ private void register(AbstractName abstractName) {
try {
- MBeanGBeanBridge mbeanGBeanBridge = null;
+ MBeanGBeanBridge mbeanGBeanBridge;
synchronized (this) {
- if (registry.containsKey(objectName)) {
+ if (registry.containsKey(abstractName.getObjectName())) {
return;
}
- MBeanInfo mbeanInfo = JMXUtil.toMBeanInfo(kernel.getGBeanInfo(objectName));
- mbeanGBeanBridge = new MBeanGBeanBridge(kernel, objectName, mbeanInfo);
- registry.put(objectName, mbeanGBeanBridge);
+ MBeanInfo mbeanInfo = JMXUtil.toMBeanInfo(kernel.getGBeanInfo(abstractName));
+ mbeanGBeanBridge = new MBeanGBeanBridge(kernel, abstractName, mbeanInfo);
+ registry.put(abstractName.getObjectName(), mbeanGBeanBridge);
}
- mbeanServer.registerMBean(mbeanGBeanBridge, objectName);
+ mbeanServer.registerMBean(mbeanGBeanBridge, abstractName.getObjectName());
} catch (GBeanNotFoundException e) {
// ignore - gbean already unregistered
} catch (InstanceAlreadyExistsException e) {
@@ -142,15 +145,15 @@
}
}
- private void unregister(ObjectName objectName) {
+ private void unregister(AbstractName abstractName) {
synchronized (this) {
- if (registry.remove(objectName) == null) {
+ if (registry.remove(abstractName.getObjectName()) == null) {
return;
}
}
try {
- mbeanServer.unregisterMBean(objectName);
+ mbeanServer.unregisterMBean(abstractName.getObjectName());
} catch (InstanceNotFoundException e) {
// ignore - something else may have unregistered us
// if there truely is no GBean then we will catch it below whwn we call the superclass
@@ -167,12 +170,12 @@
}
private class GBeanRegistrationListener extends LifecycleAdapter {
- public void loaded(ObjectName objectName) {
- register(objectName);
+ public void loaded(AbstractName abstractName) {
+ register(abstractName);
}
- public void unloaded(ObjectName objectName) {
- unregister(objectName);
+ public void unloaded(AbstractName abstractName) {
+ unregister(abstractName);
}
}
Modified: geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java?rev=383682&r1=383681&r2=383682&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java (original)
+++ geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java Mon Mar 6 13:44:29 2006
@@ -22,6 +22,7 @@
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.gbean.GReferenceInfo;
+import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.kernel.repository.Artifact;
import org.apache.geronimo.system.serverinfo.BasicServerInfo;
@@ -146,7 +147,7 @@
public void testAddGBean() throws Exception {
String attributeValue = "attribute value";
- ObjectName referencePattern = new ObjectName(":name=referencePattern,*");
+ AbstractNameQuery referencePattern = new AbstractNameQuery(LocalAttributeManagerTest.class.getName());
GBeanData gbeanData = new GBeanData(gbeanName, GBEAN_INFO);
gbeanData.setAttribute(attributeInfo.getName(), attributeValue);