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 2004/11/30 23:56:25 UTC
svn commit: r109251 - in geronimo/trunk/modules: axis/src/java/org/apache/geronimo/axis axis/src/test/org/apache/geronimo/axis axis/src/test/org/apache/geronimo/axis/testUtils connector/src/test/org/apache/geronimo/connector deployment/src/java/org/apache/geronimo/deployment/cli deployment/src/java/org/apache/geronimo/deployment/plugin/local j2ee/src/java/org/apache/geronimo/j2ee/mejb jetty/src/test/org/apache/geronimo/jetty kernel/src/java/org/apache/geronimo/gbean/jmx kernel/src/java/org/apache/geronimo/kernel kernel/src/java/org/apache/geronimo/kernel/config kernel/src/test/org/apache/geronimo/kernel mail/src/test/org/apache/geronimo/mail spring/src/java/org/apache/geronimo/spring system/src/java/org/apache/geronimo/system/main
Author: dain
Date: Tue Nov 30 14:56:24 2004
New Revision: 109251
URL: http://svn.apache.org/viewcvs?view=rev&rev=109251
Log:
Finished converting kernel methods to throw Geronimo specific exception insted of JMXExceptions
Completed more of the Management EJB implementation
Modified:
geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java
geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java
geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java
geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java
geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java
geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java
geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/mejb/MEJB.java
geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/BaseSecurityTest.java
geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBean.java
geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/DependencyManager.java
geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java
geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/KernelMBean.java
geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/Configuration.java
geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManagerImpl.java
geronimo/trunk/modules/kernel/src/test/org/apache/geronimo/kernel/ConfigTest.java
geronimo/trunk/modules/mail/src/test/org/apache/geronimo/mail/MailGBeanTest.java
geronimo/trunk/modules/spring/src/java/org/apache/geronimo/spring/SpringGBean.java
geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java
Modified: geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java?view=diff&rev=109251&p1=geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java&r1=109250&p2=geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java (original)
+++ geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java Tue Nov 30 14:56:24 2004
@@ -15,27 +15,6 @@
*/
package org.apache.geronimo.axis;
-import org.apache.axis.AxisFault;
-import org.apache.axis.client.AdminClient;
-import org.apache.axis.client.Call;
-import org.apache.axis.utils.ClassUtils;
-import org.apache.axis.utils.NetworkUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.geronimo.deployment.DeploymentException;
-import org.apache.geronimo.gbean.GBeanData;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
-import org.apache.geronimo.kernel.Kernel;
-import org.apache.geronimo.kernel.config.Configuration;
-import org.apache.geronimo.kernel.config.ConfigurationStore;
-import org.openejb.ContainerIndex;
-import org.openejb.EJBContainer;
-
-import javax.ejb.EJBHome;
-import javax.management.AttributeNotFoundException;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -47,9 +26,9 @@
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.lang.reflect.Method;
+import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
-import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
@@ -59,6 +38,26 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
+import javax.ejb.EJBHome;
+import javax.management.AttributeNotFoundException;
+import javax.management.ObjectName;
+import javax.management.ReflectionException;
+
+import org.apache.axis.AxisFault;
+import org.apache.axis.client.AdminClient;
+import org.apache.axis.client.Call;
+import org.apache.axis.utils.ClassUtils;
+import org.apache.axis.utils.NetworkUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.deployment.DeploymentException;
+import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.config.Configuration;
+import org.apache.geronimo.kernel.config.ConfigurationStore;
+import org.openejb.ContainerIndex;
+import org.openejb.EJBContainer;
/**
* @version $Rev$ $Date$
Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java?view=diff&rev=109251&p1=geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java&r1=109250&p2=geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java (original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java Tue Nov 30 14:56:24 2004
@@ -20,8 +20,6 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLClassLoader;
-
-import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import org.apache.geronimo.axis.testUtils.TestingUtils;
Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java?view=diff&rev=109251&p1=geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java&r1=109250&p2=geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java (original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java Tue Nov 30 14:56:24 2004
@@ -20,15 +20,12 @@
import java.net.URL;
import java.util.Collections;
import java.util.Enumeration;
-import java.util.List;
import java.util.jar.JarFile;
import java.util.zip.ZipEntry;
-
import javax.management.ObjectName;
import javax.naming.Reference;
import org.apache.geronimo.axis.AxisGeronimoUtils;
-import org.apache.geronimo.axis.WSConfigBuilder;
import org.apache.geronimo.axis.WSPlan;
import org.apache.geronimo.deployment.DeploymentException;
import org.apache.geronimo.gbean.GBeanData;
Modified: geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java?view=diff&rev=109251&p1=geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java&r1=109250&p2=geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java (original)
+++ geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java Tue Nov 30 14:56:24 2004
@@ -30,8 +30,6 @@
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
-import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
import org.apache.geronimo.kernel.Kernel;
/**
Modified: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java?view=diff&rev=109251&p1=geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java&r1=109250&p2=geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java (original)
+++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java Tue Nov 30 14:56:24 2004
@@ -17,22 +17,23 @@
package org.apache.geronimo.deployment.cli;
-import java.util.*;
-import java.util.jar.JarFile;
-import java.net.URI;
import java.io.BufferedReader;
-import java.io.PrintWriter;
-import java.io.IOException;
import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.jar.JarFile;
+import javax.enterprise.deploy.shared.factories.DeploymentFactoryManager;
import javax.enterprise.deploy.spi.DeploymentManager;
import javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
import javax.enterprise.deploy.spi.factories.DeploymentFactory;
-import javax.enterprise.deploy.shared.factories.DeploymentFactoryManager;
import javax.management.ObjectName;
-import javax.management.MalformedObjectNameException;
+
import org.apache.geronimo.deployment.DeploymentException;
-import org.apache.geronimo.deployment.plugin.factories.DeploymentFactoryImpl;
import org.apache.geronimo.deployment.plugin.factories.AuthenticationFailedException;
+import org.apache.geronimo.deployment.plugin.factories.DeploymentFactoryImpl;
import org.apache.geronimo.system.main.CommandLine;
import org.apache.geronimo.system.main.CommandLineManifest;
Modified: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java?view=diff&rev=109251&p1=geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java&r1=109250&p2=geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java (original)
+++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java Tue Nov 30 14:56:24 2004
@@ -105,6 +105,7 @@
}
protected void doFail(Exception e) {
+ // todo dain: kernel does not throw any JMX exceptions anymore... do we still need this
if (e instanceof MBeanException) {
e = ((MBeanException)e).getTargetException();
}
Modified: geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/mejb/MEJB.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/mejb/MEJB.java?view=diff&rev=109251&p1=geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/mejb/MEJB.java&r1=109250&p2=geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/mejb/MEJB.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/mejb/MEJB.java (original)
+++ geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/mejb/MEJB.java Tue Nov 30 14:56:24 2004
@@ -16,10 +16,9 @@
*/
package org.apache.geronimo.j2ee.mejb;
-import java.rmi.RemoteException;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
-import java.util.List;
import javax.ejb.EJBHome;
import javax.ejb.EJBObject;
import javax.ejb.Handle;
@@ -28,254 +27,227 @@
import javax.management.AttributeList;
import javax.management.AttributeNotFoundException;
import javax.management.InstanceNotFoundException;
-import javax.management.IntrospectionException;
-import javax.management.InvalidAttributeValueException;
import javax.management.MBeanException;
import javax.management.MBeanInfo;
-import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.QueryExp;
import javax.management.ReflectionException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanConstructorInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanParameterInfo;
-import javax.management.MBeanNotificationInfo;
-import javax.management.NotificationListener;
-import javax.management.NotificationFilter;
-import javax.management.ListenerNotFoundException;
import javax.management.j2ee.ListenerRegistration;
import javax.management.j2ee.Management;
import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GAttributeInfo;
-import org.apache.geronimo.gbean.GOperationInfo;
-import org.apache.geronimo.gbean.GNotificationInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.jmx.GBeanJMXUtil;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
+import org.apache.geronimo.kernel.InternalKernelException;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.KernelMBean;
+import org.apache.geronimo.kernel.NoSuchAttributeException;
+import org.apache.geronimo.kernel.NoSuchOperationException;
/**
* GBean implementing Management interface and supplying proxies to act as the MEJB container.
*
* @version $Rev: $ $Date: $
*/
-public class MEJB implements Management, ListenerRegistration {
-
+public class MEJB implements Management {
private final Kernel kernel;
- private static final ObjectName ALL_GBEANS_QUERY;
-
- static {
- try {
- ALL_GBEANS_QUERY = ObjectName.getInstance("*.*");
- } catch (MalformedObjectNameException e) {
- throw new RuntimeException(e);
- }
- }
public MEJB(Kernel kernel) {
this.kernel = kernel;
}
- public Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, RemoteException {
+ public Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException {
try {
return kernel.getAttribute(name, attribute);
- } catch (MBeanException e) {
- throw e;
- } catch (AttributeNotFoundException e) {
- throw e;
- } catch (InstanceNotFoundException e) {
- throw e;
- } catch (ReflectionException e) {
- throw e;
+ } catch (NoSuchAttributeException e) {
+ throw new AttributeNotFoundException(attribute);
+ } catch (GBeanNotFoundException e) {
+ throw new InstanceNotFoundException(name.getCanonicalName());
+ } catch (InternalKernelException e) {
+ throw new MBeanException(unwrapInternalKernelException(e));
} catch (Exception e) {
throw new MBeanException(e);
}
}
- public AttributeList getAttributes(ObjectName name, String[] attributes) throws InstanceNotFoundException, ReflectionException, RemoteException {
+ public AttributeList getAttributes(ObjectName name, String[] attributes) throws InstanceNotFoundException, ReflectionException {
AttributeList attributeList = new AttributeList(attributes.length);
for (int i = 0; i < attributes.length; i++) {
String attribute = attributes[i];
try {
- attributeList.add(i, new Attribute(attribute, kernel.getAttribute(name, attribute)));
- } catch (InstanceNotFoundException e) {
- throw e;
- } catch (ReflectionException e) {
- throw e;
+ Object value = kernel.getAttribute(name, attribute);
+ attributeList.add(i, new Attribute(attribute, value));
+ } catch (NoSuchAttributeException e) {
+ // ignored - caller will simply find no value
+ } catch (GBeanNotFoundException e) {
+ throw new InstanceNotFoundException(name.getCanonicalName());
+ } catch (InternalKernelException e) {
+ throw new ReflectionException(unwrapInternalKernelException(e));
} catch (Exception e) {
- //ignore ?
+ // ignored - caller will simply find no value
}
}
return attributeList;
}
- public String getDefaultDomain() throws RemoteException {
+ public String getDefaultDomain() {
return kernel.getKernelName();
}
- public Integer getMBeanCount() throws RemoteException {
- return new Integer(kernel.listGBeans(ALL_GBEANS_QUERY).size());
+ public Integer getMBeanCount() {
+ return new Integer(kernel.listGBeans((ObjectName)null).size());
}
- public MBeanInfo getMBeanInfo(ObjectName name) throws IntrospectionException, InstanceNotFoundException, ReflectionException, RemoteException {
- return mapToMBeanInfo(kernel.getGBeanInfo(name));
+ public MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException, ReflectionException {
+ GBeanInfo gbeanInfo;
+ try {
+ gbeanInfo = kernel.getGBeanInfo(name);
+ } catch (GBeanNotFoundException e) {
+ throw new InstanceNotFoundException(name.toString());
+ } catch (InternalKernelException e) {
+ throw new ReflectionException(unwrapInternalKernelException(e));
+ }
+ return GBeanJMXUtil.toMBeanInfo(gbeanInfo);
}
- public Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws InstanceNotFoundException, MBeanException, ReflectionException, RemoteException {
+ public Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws InstanceNotFoundException, MBeanException, ReflectionException {
try {
return kernel.invoke(name, operationName, params, signature);
- } catch (MBeanException e) {
- throw e;
- } catch (InstanceNotFoundException e) {
- throw e;
- } catch (ReflectionException e) {
- throw e;
+ } catch (NoSuchOperationException e) {
+ throw new ReflectionException(new NoSuchMethodException(e.getMessage()));
+ } catch (GBeanNotFoundException e) {
+ throw new InstanceNotFoundException(name.getCanonicalName());
+ } catch (InternalKernelException e) {
+ throw new MBeanException(unwrapInternalKernelException(e));
} catch (Exception e) {
throw new MBeanException(e);
}
}
- public boolean isRegistered(ObjectName name) throws RemoteException {
+ public boolean isRegistered(ObjectName name) {
return kernel.isLoaded(name);
}
- public Set queryNames(ObjectName name, QueryExp query) throws RemoteException {
+ public Set queryNames(ObjectName pattern, QueryExp query) {
if (query != null) {
throw new IllegalArgumentException("NYI");
}
- return kernel.listGBeans(name);
+ Set names = kernel.listGBeans(pattern);
+ if (query == null) {
+ return names;
+ }
+
+ // todo this will not work for non MBean server based queries
+ // dain: I think we could create an MBeanServer wraper around
+ // kernel that passed though most operations to kernel and
+ // threw an UnsupportedOperationException for the operations
+ // that have no equivilent Kernel method.
+ query.setMBeanServer(kernel.getMBeanServer());
+
+ Set filteredNames = new HashSet(names.size());
+ for (Iterator iterator = names.iterator(); iterator.hasNext();) {
+ ObjectName name = (ObjectName) iterator.next();
+ try {
+ if (query.apply(name)) {
+ filteredNames.add(name);
+ }
+ } catch (Exception e) {
+ // reject any name that threw an exception
+ }
+ }
+ return filteredNames;
}
- public void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException, RemoteException {
- try {
- kernel.setAttribute(name, attribute.getName(), attribute.getValue());
- } catch (MBeanException e) {
- throw e;
- } catch (AttributeNotFoundException e) {
- throw e;
- } catch (InstanceNotFoundException e) {
- throw e;
- } catch (InvalidAttributeValueException e) {
- throw e;
- } catch (ReflectionException e) {
- throw e;
+ public void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException, AttributeNotFoundException, MBeanException {
+ String attributeName = attribute.getName();
+ Object attributeValue = attribute.getValue();
+ try {
+ kernel.setAttribute(name, attributeName, attributeValue);
+ } catch (NoSuchAttributeException e) {
+ throw new AttributeNotFoundException(attributeName);
+ } catch (GBeanNotFoundException e) {
+ throw new InstanceNotFoundException(name.getCanonicalName());
+ } catch (InternalKernelException e) {
+ throw new MBeanException(unwrapInternalKernelException(e));
} catch (Exception e) {
throw new MBeanException(e);
}
}
- public AttributeList setAttributes(ObjectName name, AttributeList attributes) throws InstanceNotFoundException, ReflectionException, RemoteException {
+ public AttributeList setAttributes(ObjectName name, AttributeList attributes) throws InstanceNotFoundException, ReflectionException {
AttributeList set = new AttributeList(attributes.size());
for (Iterator iterator = attributes.iterator(); iterator.hasNext();) {
Attribute attribute = (Attribute) iterator.next();
+ String attributeName = attribute.getName();
+ Object attributeValue = attribute.getValue();
try {
- kernel.setAttribute(name, attribute.getName(), attribute.getValue());
+ kernel.setAttribute(name, attributeName, attributeValue);
set.add(attribute);
- } catch (InstanceNotFoundException e) {
- throw e;
- } catch (ReflectionException e) {
- throw e;
+ } catch (NoSuchAttributeException e) {
+ // ignored - caller will see value was not set because this attribute will not be in the attribute list
+ } catch (GBeanNotFoundException e) {
+ throw new InstanceNotFoundException(name.getCanonicalName());
+ } catch (InternalKernelException e) {
+ throw new ReflectionException(unwrapInternalKernelException(e));
} catch (Exception e) {
- //ignore ?
+ // ignored - caller will see value was not set because this attribute will not be in the attribute list
}
}
return set;
}
- public ListenerRegistration getListenerRegistry() throws RemoteException {
- throw new RuntimeException("NYI");
- }
-
-
- //ListenerRegistration implementation
- public void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, RemoteException {
- try {
- kernel.invoke(name, "addNotificationListener", new Object[]{listener, filter, handback}, new String[]{NotificationListener.class.getName(), NotificationFilter.class.getName(), Object.class.getName()});
- } catch (InstanceNotFoundException e) {
- throw e;
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
+ public ListenerRegistration getListenerRegistry() {
+ throw new UnsupportedOperationException("Not Yet Implemented");
}
- public void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException, ListenerNotFoundException, RemoteException {
- try {
- kernel.invoke(name, "removeNotificationListener", new Object[]{listener}, new String[]{NotificationListener.class.getName()});
- } catch (InstanceNotFoundException e) {
- throw e;
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- //EJBObject implementation
+// //ListenerRegistration implementation
+// public void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException {
+// try {
+// kernel.invoke(name, "addNotificationListener", new Object[]{listener, filter, handback}, new String[]{NotificationListener.class.getName(), NotificationFilter.class.getName(), Object.class.getName()});
+// } catch (InstanceNotFoundException e) {
+// throw e;
+// } catch (Exception e) {
+// throw new RuntimeException(e);
+// }
+// }
+//
+// public void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException, ListenerNotFoundException {
+// try {
+// kernel.invoke(name, "removeNotificationListener", new Object[]{listener}, new String[]{NotificationListener.class.getName()});
+// } catch (InstanceNotFoundException e) {
+// throw e;
+// } catch (Exception e) {
+// throw new RuntimeException(e);
+// }
+// }
- public EJBHome getEJBHome() throws RemoteException {
+ // EJBObject implementation
+ public EJBHome getEJBHome() {
return null;
}
- public Handle getHandle() throws RemoteException {
+ public Handle getHandle() {
return null;
}
- public Object getPrimaryKey() throws RemoteException {
+ public Object getPrimaryKey() {
return null;
}
- public boolean isIdentical(EJBObject obj) throws RemoteException {
+ public boolean isIdentical(EJBObject obj) {
return false;
}
- public void remove() throws RemoteException, RemoveException {
-
+ public void remove() throws RemoveException {
}
-
- private MBeanInfo mapToMBeanInfo(GBeanInfo gBeanInfo) {
- String className = gBeanInfo.getClassName();
- String description = "No description available";
- Set gbeanAttributes = gBeanInfo.getAttributes();
- MBeanAttributeInfo[] attributes = new MBeanAttributeInfo[gbeanAttributes.size()];
- int a = 0;
- for (Iterator iterator = gbeanAttributes.iterator(); iterator.hasNext();) {
- GAttributeInfo gAttributeInfo = (GAttributeInfo) iterator.next();
- attributes[a] = new MBeanAttributeInfo(gAttributeInfo.getName(), "no description available", gAttributeInfo.getType(), gAttributeInfo.isReadable().booleanValue(), gAttributeInfo.isWritable().booleanValue(), gAttributeInfo.getGetterName().startsWith("is"));
- a++;
- }
-
- //we don't expose managed constructors
- MBeanConstructorInfo[] constructors = new MBeanConstructorInfo[0];
-
- Set gbeanOperations = gBeanInfo.getOperations();
- MBeanOperationInfo[] operations = new MBeanOperationInfo[gbeanOperations.size()];
- int o = 0;
- for (Iterator iterator = gbeanOperations.iterator(); iterator.hasNext();) {
- GOperationInfo gOperationInfo = (GOperationInfo) iterator.next();
- //list of class names
- List gparameters = gOperationInfo.getParameterList();
- MBeanParameterInfo[] parameters = new MBeanParameterInfo[gparameters.size()];
- int p = 0;
- for (Iterator piterator = gparameters.iterator(); piterator.hasNext();) {
- String type = (String) piterator.next();
- parameters[p] = new MBeanParameterInfo("parameter" + p, type, "no description available");
- p++;
- }
- operations[o] = new MBeanOperationInfo(gOperationInfo.getName(), "no description available", parameters, "java.lang.Object", MBeanOperationInfo.UNKNOWN);
- o++;
- }
-
- Set gnotifications = gBeanInfo.getNotifications();
- MBeanNotificationInfo[] notifications = new MBeanNotificationInfo[gnotifications.size()];
- int n = 0;
- for (Iterator iterator = gnotifications.iterator(); iterator.hasNext();) {
- GNotificationInfo gNotificationInfo = (GNotificationInfo) iterator.next();
- notifications[n] = new MBeanNotificationInfo((String[]) gNotificationInfo.getNotificationTypes().toArray(new String[gnotifications.size()]), gNotificationInfo.getName(), "no description available");
- n++;
+ private static Exception unwrapInternalKernelException(InternalKernelException e) {
+ if (e.getCause() instanceof Exception) {
+ return (Exception) e.getCause();
}
-
- MBeanInfo mbeanInfo = new MBeanInfo(className, description, attributes, constructors, operations, notifications);
- return mbeanInfo;
+ return e;
}
public static final GBeanInfo GBEAN_INFO;
@@ -284,7 +256,6 @@
GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(MEJB.class.getName());
infoBuilder.addAttribute("kernel", KernelMBean.class, false);
infoBuilder.addInterface(Management.class);
- infoBuilder.addInterface(ListenerRegistration.class);
infoBuilder.setConstructor(new String[]{"kernel"});
Modified: geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/BaseSecurityTest.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/BaseSecurityTest.java?view=diff&rev=109251&p1=geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/BaseSecurityTest.java&r1=109250&p2=geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/BaseSecurityTest.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/BaseSecurityTest.java (original)
+++ geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/BaseSecurityTest.java Tue Nov 30 14:56:24 2004
@@ -17,14 +17,13 @@
package org.apache.geronimo.jetty;
-import javax.management.ObjectName;
import java.util.Collections;
import java.util.HashSet;
-import java.util.Set;
import java.util.Properties;
+import java.util.Set;
+import javax.management.ObjectName;
import junit.framework.TestCase;
-
import org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.apache.geronimo.jetty.connector.HTTPConnector;
Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBean.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBean.java?view=diff&rev=109251&p1=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBean.java&r1=109250&p2=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBean.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBean.java (original)
+++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBean.java Tue Nov 30 14:56:24 2004
@@ -76,11 +76,6 @@
}
/**
- * Attribute name used to retrieve the GBeanData for the GBean
- */
- public static final String GBEAN_DATA = "$$GBEAN_DATA$$";
-
- /**
* The kernel in which this server is registered.
*/
private Kernel kernel;
Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/DependencyManager.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/DependencyManager.java?view=diff&rev=109251&p1=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/DependencyManager.java&r1=109250&p2=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/DependencyManager.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/DependencyManager.java (original)
+++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/DependencyManager.java Tue Nov 30 14:56:24 2004
@@ -275,6 +275,7 @@
return null;
}
+ // todo convert this over to a kernel life cycle listener.... if possible
public void handleNotification(Notification n, Object handback) {
String type = n.getType();
if (MBeanServerNotification.UNREGISTRATION_NOTIFICATION.equals(type)) {
Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java?view=diff&rev=109251&p1=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java&r1=109250&p2=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java (original)
+++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java Tue Nov 30 14:56:24 2004
@@ -283,7 +283,7 @@
return proxyManager;
}
- public Object getAttribute(ObjectName objectName, String attributeName) throws Exception {
+ public Object getAttribute(ObjectName objectName, String attributeName) throws GBeanNotFoundException, NoSuchAttributeException, InternalKernelException, Exception {
try {
return mbServer.getAttribute(objectName, attributeName);
} catch (Exception e) {
@@ -292,17 +292,21 @@
throw new GBeanNotFoundException(objectName.getCanonicalName());
} else if (cause instanceof AttributeNotFoundException) {
throw new NoSuchAttributeException(cause.getMessage());
+ } else if (cause instanceof JMException) {
+ throw new InternalKernelException(cause);
+ } else if (cause instanceof JMRuntimeException) {
+ throw new InternalKernelException(cause);
} else if (cause instanceof Error) {
throw (Error) cause;
} else if (cause instanceof Exception) {
throw (Exception) cause;
} else {
- throw new AssertionError(cause);
+ throw new InternalKernelException("Unknown throwable", cause);
}
}
}
- public void setAttribute(ObjectName objectName, String attributeName, Object attributeValue) throws Exception {
+ public void setAttribute(ObjectName objectName, String attributeName, Object attributeValue) throws GBeanNotFoundException, NoSuchAttributeException, InternalKernelException, Exception {
try {
mbServer.setAttribute(objectName, new Attribute(attributeName, attributeValue));
} catch (Exception e) {
@@ -311,21 +315,25 @@
throw new GBeanNotFoundException(objectName.getCanonicalName());
} else if (cause instanceof AttributeNotFoundException) {
throw new NoSuchAttributeException(cause.getMessage());
+ } else if (cause instanceof JMException) {
+ throw new InternalKernelException(cause);
+ } else if (cause instanceof JMRuntimeException) {
+ throw new InternalKernelException(cause);
} else if (cause instanceof Error) {
throw (Error) cause;
} else if (cause instanceof Exception) {
throw (Exception) cause;
} else {
- throw new AssertionError(cause);
+ throw new InternalKernelException("Unknown throwable", cause);
}
}
}
- public Object invoke(ObjectName objectName, String methodName) throws Exception {
+ public Object invoke(ObjectName objectName, String methodName) throws GBeanNotFoundException, NoSuchOperationException, InternalKernelException, Exception {
return invoke(objectName, methodName, NO_ARGS, NO_TYPES);
}
- public Object invoke(ObjectName objectName, String methodName, Object[] args, String[] types) throws Exception {
+ public Object invoke(ObjectName objectName, String methodName, Object[] args, String[] types) throws GBeanNotFoundException, NoSuchOperationException, InternalKernelException, Exception {
try {
return mbServer.invoke(objectName, methodName, args, types);
} catch (Exception e) {
@@ -334,12 +342,16 @@
throw new GBeanNotFoundException(objectName.getCanonicalName());
} else if (cause instanceof NoSuchMethodException) {
throw new NoSuchOperationException(cause.getMessage());
+ } else if (cause instanceof JMException) {
+ throw new InternalKernelException(cause);
+ } else if (cause instanceof JMRuntimeException) {
+ throw new InternalKernelException(cause);
} else if (cause instanceof Error) {
throw (Error) cause;
} else if (cause instanceof Exception) {
throw (Exception) cause;
} else {
- throw new AssertionError(cause);
+ throw new InternalKernelException("Unknown throwable", cause);
}
}
}
@@ -353,107 +365,119 @@
public boolean isLoaded(ObjectName name) {
- return mbServer != null && mbServer.isRegistered(name);
+ try {
+ return mbServer != null && mbServer.isRegistered(name);
+ } catch (RuntimeException e) {
+ throw new InternalKernelException(e);
+ }
}
- public GBeanInfo getGBeanInfo(ObjectName name) throws InstanceNotFoundException {
+ public GBeanInfo getGBeanInfo(ObjectName name) throws GBeanNotFoundException, InternalKernelException {
try {
return (GBeanInfo) getAttribute(name, "gbeanInfo");
- } catch (InstanceNotFoundException e) {
+ } catch (GBeanNotFoundException e) {
throw e;
- } catch (RuntimeException e) {
+ } catch (InternalKernelException e) {
throw e;
} catch (Exception e) {
- throw new RuntimeException(e);
+ throw new InternalKernelException(e);
}
}
- /**
- * Gets the gbean data for the gbean held by this gbean mbean.
- * @return the gbean data
- * @throws InstanceNotFoundException if no such gbean exists with the specified name
- */
- public GBeanData getGBeanData(ObjectName name) throws InstanceNotFoundException {
+ public GBeanData getGBeanData(ObjectName name) throws GBeanNotFoundException, InternalKernelException {
try {
- return (GBeanData) getAttribute(name, GBeanMBean.GBEAN_DATA);
- } catch (InstanceNotFoundException e) {
+ return (GBeanData) getAttribute(name, GBeanInstance.GBEAN_DATA);
+ } catch (GBeanNotFoundException e) {
throw e;
- } catch (RuntimeException e) {
+ } catch (InternalKernelException e) {
throw e;
} catch (Exception e) {
- throw (AssertionError) new AssertionError("getGBeanData can not throw checked exceptions").initCause(e);
+ throw new InternalKernelException(e);
}
}
- public void loadGBean(GBeanData gbeanData, ClassLoader classLoader) throws InstanceAlreadyExistsException, InvalidConfigException {
+ public void loadGBean(GBeanData gbeanData, ClassLoader classLoader) throws GBeanAlreadyExistsException, InternalKernelException {
try {
GBeanMBean gbean = new GBeanMBean(this, gbeanData, classLoader);
mbServer.registerMBean(gbean, gbeanData.getName());
- } catch (JMRuntimeException e) {
- throw new InvalidConfigException("Invalid GBean configuration for " + gbeanData.getName(), unwrapJMException(e));
- } catch (JMException e) {
- throw new InvalidConfigException("Invalid GBean configuration for " + gbeanData.getName(), unwrapJMException(e));
+ } catch (InstanceAlreadyExistsException e) {
+ throw new GBeanAlreadyExistsException("A GBean is alreayd registered witht then name " + gbeanData.getName());
+ } catch (Exception e) {
+ throw new InternalKernelException("Error loading GBean " + gbeanData.getName().getCanonicalName(), unwrapJMException(e));
}
}
- public void loadGBean(ObjectName name, GBeanMBean gbean) throws InstanceAlreadyExistsException, InvalidConfigException {
+ /**
+ * @deprecated use loadGBean(GBeanData gbeanData, ClassLoader classLoader)
+ */
+ public void loadGBean(ObjectName name, GBeanMBean gbean) throws GBeanAlreadyExistsException, InternalKernelException {
try {
mbServer.registerMBean(gbean, name);
} catch (InstanceAlreadyExistsException e) {
- throw e;
+ throw new GBeanAlreadyExistsException(name.getCanonicalName());
} catch (Exception e) {
- throw new InvalidConfigException("Invalid GBean configuration for " + name, unwrapJMException(e));
+ throw new InternalKernelException("Error loading GBean " + name.getCanonicalName(), unwrapJMException(e));
}
}
- public void startGBean(ObjectName name) throws InstanceNotFoundException, InvalidConfigException {
+ public void startGBean(ObjectName name) throws GBeanNotFoundException, InternalKernelException {
try {
invoke(name, "start");
- } catch (InstanceNotFoundException e) {
- throw e;
} catch (GBeanNotFoundException e) {
- throw new InstanceNotFoundException("No instance found: " + name);
+ throw e;
+ } catch (InternalKernelException e) {
+ throw e;
+ } catch (NoSuchOperationException e) {
+ throw new InternalKernelException("GBean is not state manageable: " + name.getCanonicalName(), e);
} catch (Exception e) {
- throw new InvalidConfigException("Invalid GBean configuration for " + name, unwrapJMException(e));
+ throw new InternalKernelException("Invalid GBean configuration for " + name, unwrapJMException(e));
}
}
- public void startRecursiveGBean(ObjectName name) throws InstanceNotFoundException, InvalidConfigException {
+ public void startRecursiveGBean(ObjectName name) throws GBeanNotFoundException, InternalKernelException {
try {
invoke(name, "startRecursive");
- } catch (InstanceNotFoundException e) {
- throw e;
} catch (GBeanNotFoundException e) {
- throw new InstanceNotFoundException("No instance found: " + name);
+ throw e;
+ } catch (InternalKernelException e) {
+ throw e;
+ } catch (NoSuchOperationException e) {
+ throw new InternalKernelException("GBean is not state manageable: " + name.getCanonicalName(), e);
} catch (Exception e) {
- throw new InvalidConfigException("Invalid GBean configuration for " + name, e);
+ throw new InternalKernelException("Invalid GBean configuration for " + name, e);
}
}
- public void stopGBean(ObjectName name) throws InstanceNotFoundException, InvalidConfigException {
+ public void stopGBean(ObjectName name) throws GBeanNotFoundException, InternalKernelException {
try {
invoke(name, "stop");
- } catch (InstanceNotFoundException e) {
- throw e;
} catch (GBeanNotFoundException e) {
- throw new InstanceNotFoundException("No instance found: " + name);
+ throw e;
+ } catch (InternalKernelException e) {
+ throw e;
+ } catch (NoSuchOperationException e) {
+ throw new InternalKernelException("GBean is not state manageable: " + name.getCanonicalName(), e);
} catch (Exception e) {
- throw new InvalidConfigException("Invalid GBean configuration for " + name, e);
+ throw new InternalKernelException("Invalid GBean configuration for " + name, e);
}
}
- public void unloadGBean(ObjectName name) throws InstanceNotFoundException {
+ public void unloadGBean(ObjectName name) throws GBeanNotFoundException, InternalKernelException {
try {
mbServer.unregisterMBean(name);
} catch (InstanceNotFoundException e) {
- throw e;
- } catch (JMException e) {
- throw (IllegalStateException) new IllegalStateException("Error unloading GBean " + name).initCause(unwrapJMException(e));
+ throw new GBeanNotFoundException(name.getCanonicalName());
+ } catch (Exception e) {
+ throw new InternalKernelException("Error unloading GBean " + name, unwrapJMException(e));
}
}
- public Set listGBeans(ObjectName query) {
- return mbServer.queryNames(query, null);
+ public Set listGBeans(ObjectName pattern) {
+ try {
+ return mbServer.queryNames(pattern, null);
+ } catch (RuntimeException e) {
+ throw new InternalKernelException("Error while applying pattern " + pattern, e);
+ }
}
public Set listGBeans(Set patterns) {
@@ -473,45 +497,42 @@
return getConfigurationManager().listConfigurations(storeName);
}
- public ObjectName startConfiguration(URI configID) throws NoSuchConfigException, IOException, InvalidConfigException {
+ public ObjectName startConfiguration(URI configID) throws NoSuchConfigException, IOException, InvalidConfigException, InternalKernelException {
ObjectName configName = getConfigurationManager().load(configID);
try {
startRecursiveGBean(configName);
- } catch (InstanceNotFoundException e) {
+ } catch (GBeanNotFoundException e) {
// should not happen as we just loaded it
throw new InvalidConfigException(e);
}
return configName;
-
}
- public void stopConfiguration(URI configID) throws NoSuchConfigException {
+ public void stopConfiguration(URI configID) throws NoSuchConfigException, InternalKernelException {
ConfigurationManager configurationManager = getConfigurationManager();
try {
ObjectName configName = Configuration.getConfigurationObjectName(configID);
stopGBean(configName);
} catch (MalformedObjectNameException e) {
throw new NoSuchConfigException(e);
- } catch (InstanceNotFoundException e) {
+ } catch (GBeanNotFoundException e) {
throw new NoSuchConfigException(e);
- } catch (InvalidConfigException e) {
- throw (IllegalStateException) new IllegalStateException().initCause(e);
}
configurationManager.unload(configID);
}
- public int getConfigurationState(URI configID) throws NoSuchConfigException {
+ public int getConfigurationState(URI configID) throws NoSuchConfigException, InternalKernelException {
try {
ObjectName configName = Configuration.getConfigurationObjectName(configID);
return ((Integer)getAttribute(configName, "state")).intValue();
} catch (MalformedObjectNameException e) {
throw new NoSuchConfigException(e);
- } catch (InstanceNotFoundException e) {
+ } catch (GBeanNotFoundException e) {
throw new NoSuchConfigException(e);
- } catch (InvalidConfigException e) {
- throw (IllegalStateException) new IllegalStateException().initCause(e);
+ } catch (InternalKernelException e) {
+ throw e;
} catch (Exception e) {
- throw new NoSuchConfigException(e);
+ throw new InternalKernelException(e);
}
}
@@ -648,8 +669,14 @@
return running;
}
- public ClassLoader getClassLoaderFor(ObjectName objectName) throws InstanceNotFoundException {
- return mbServer.getClassLoaderFor(objectName);
+ public ClassLoader getClassLoaderFor(ObjectName name) throws GBeanNotFoundException {
+ try {
+ return mbServer.getClassLoaderFor(name);
+ } catch (InstanceNotFoundException e) {
+ throw new GBeanNotFoundException(name.getCanonicalName());
+ } catch (RuntimeException e) {
+ throw new InternalKernelException("Error while attemping to get class loader for " + name.getCanonicalName(), e);
+ }
}
private static void processQueue() {
Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/KernelMBean.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/KernelMBean.java?view=diff&rev=109251&p1=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/KernelMBean.java&r1=109250&p2=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/KernelMBean.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/KernelMBean.java (original)
+++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/KernelMBean.java Tue Nov 30 14:56:24 2004
@@ -19,16 +19,15 @@
import java.io.IOException;
import java.net.URI;
+import java.util.Date;
import java.util.List;
import java.util.Set;
-import java.util.Date;
-import javax.management.InstanceAlreadyExistsException;
-import javax.management.InstanceNotFoundException;
import javax.management.MBeanServer;
import javax.management.ObjectName;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.apache.geronimo.kernel.config.ConfigurationManager;
import org.apache.geronimo.kernel.config.InvalidConfigException;
import org.apache.geronimo.kernel.config.NoSuchConfigException;
@@ -62,45 +61,61 @@
* Load a specific GBean into this kernel.
* This is intended for applications that are embedding the kernel.
*
+ * @param gbeanData the GBean to load
+ * @param classLoader the class loader to use to load the gbean
+ * @throws GBeanAlreadyExistsException if the name is already used
+ * @throws InternalKernelException if there is a problem during registration
+ */
+ public void loadGBean(GBeanData gbeanData, ClassLoader classLoader) throws GBeanAlreadyExistsException, InternalKernelException;
+
+ /**
+ * Load a specific GBean into this kernel.
+ * This is intended for applications that are embedding the kernel.
+ *
* @param name the name to register the GBean under
* @param gbean the GBean to register
- * @throws InstanceAlreadyExistsException if the name is already used
- * @throws InvalidConfigException if there is a problem during registration
+ * @throws GBeanAlreadyExistsException if the name is already used
+ * @throws InternalKernelException if there is a problem during registration
+ * @deprecated use loadGBean(GBeanData gbeanData, ClassLoader classLoader)
*/
- void loadGBean(ObjectName name, GBeanMBean gbean) throws InstanceAlreadyExistsException, InvalidConfigException;
+ void loadGBean(ObjectName name, GBeanMBean gbean) throws GBeanAlreadyExistsException, InternalKernelException;
/**
* Start a specific GBean.
*
* @param name the GBean to start
- * @throws InstanceNotFoundException if the GBean could not be found
+ * @throws GBeanNotFoundException if the GBean could not be found
+ * @throws InternalKernelException if there GBean is not state manageable or if there is a general error
*/
- void startGBean(ObjectName name) throws InstanceNotFoundException, InvalidConfigException;
+ void startGBean(ObjectName name) throws GBeanNotFoundException, InternalKernelException;
/**
* Start a specific GBean and its children.
*
* @param name the GBean to start
- * @throws InstanceNotFoundException if the GBean could not be found
+ * @throws GBeanNotFoundException if the GBean could not be found
+ * @throws InternalKernelException if there GBean is not state manageable or if there is a general error
*/
- void startRecursiveGBean(ObjectName name) throws InstanceNotFoundException, InvalidConfigException;
+ void startRecursiveGBean(ObjectName name) throws GBeanNotFoundException, InternalKernelException;
/**
* Stop a specific GBean.
*
* @param name the GBean to stop
- * @throws InstanceNotFoundException if the GBean could not be found
+ * @throws GBeanNotFoundException if the GBean could not be found
+ * @throws InternalKernelException if there GBean is not state manageable or if there is a general error
*/
- void stopGBean(ObjectName name) throws InstanceNotFoundException, InvalidConfigException;
+ void stopGBean(ObjectName name) throws GBeanNotFoundException, InternalKernelException;
/**
* Unload a specific GBean.
* This is intended for applications that are embedding the kernel.
*
* @param name the name of the GBean to unregister
- * @throws InstanceNotFoundException if the GBean could not be found
+ * @throws GBeanNotFoundException if the GBean could not be found
+ * @throws InternalKernelException if there GBean is a problem while unloading the GBean
*/
- void unloadGBean(ObjectName name) throws InstanceNotFoundException;
+ void unloadGBean(ObjectName name) throws GBeanNotFoundException;
boolean isRunning();
@@ -140,16 +155,25 @@
* Return the GBean info for a gbean instance.
* @param name the name of the gbean whose info should be returned
* @return the info for that instance
- * @throws InstanceNotFoundException if there is no instance with the supplied name
+ * @throws GBeanNotFoundException if there is no instance with the supplied name
*/
- GBeanInfo getGBeanInfo(ObjectName name) throws InstanceNotFoundException;
+ GBeanInfo getGBeanInfo(ObjectName name) throws GBeanNotFoundException;
/**
- * Return the names of GBeans that match the query.
- * @param query the query to be performed
- * @return a Set<ObjectName> of the names of online GBeans that match the query
+ * Return the names of GBeans that match the pattern.
+ * @param pattern the name pattern to match
+ * @return a Set<ObjectName> of the names of online GBeans that match the pattern
+ * @throws InternalKernelException if a problem occures while searching
*/
- Set listGBeans(ObjectName query);
+ Set listGBeans(ObjectName pattern) throws InternalKernelException;
+
+ /**
+ * Return all of the names of GBeans that match the set of patterns.
+ * @param patterns a set of name patterns to match
+ * @return a Set<ObjectName> of the names of online GBeans that match the patterns
+ * @throws InternalKernelException if a problem occures while searching
+ */
+ Set listGBeans(Set patterns) throws InternalKernelException;
void registerShutdownHook(Runnable hook);
@@ -157,5 +181,19 @@
void shutdown();
- ClassLoader getClassLoaderFor(ObjectName objectName) throws InstanceNotFoundException;
+ /**
+ * Gets the class loader use for a GBean
+ * @param name name of the GBean
+ * @return the class loader used to create the GBean
+ * @throws GBeanNotFoundException if there is no instance with the supplied name
+ * @throws InternalKernelException if there was a problem getting the class loader
+ */
+ ClassLoader getClassLoaderFor(ObjectName name) throws GBeanNotFoundException, InternalKernelException;
+
+ /**
+ * Gets the gbean data for the gbean held by this gbean mbean.
+ * @return the gbean data
+ * @throws GBeanNotFoundException if no such gbean exists with the specified name
+ */
+ GBeanData getGBeanData(ObjectName name) throws GBeanNotFoundException, InternalKernelException;
}
Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/Configuration.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/Configuration.java?view=diff&rev=109251&p1=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/Configuration.java&r1=109250&p2=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/Configuration.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/Configuration.java (original)
+++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/Configuration.java Tue Nov 30 14:56:24 2004
@@ -37,7 +37,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.management.JMRuntimeException;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
@@ -202,17 +201,7 @@
GBeanData gbeanData = (GBeanData) i.next();
ObjectName name = gbeanData.getName();
log.trace("Registering GBean " + name);
- try {
- kernel.loadGBean(gbeanData, configurationClassLoader);
- } catch (JMRuntimeException e) {
- Throwable cause = e.getCause();
- if (cause instanceof Exception) {
- throw (Exception) cause;
- } else if (cause instanceof Error) {
- throw (Error) cause;
- }
- throw e;
- }
+ kernel.loadGBean(gbeanData, configurationClassLoader);
objectNames.add(name);
kernel.getDependencyManager().addDependency(name, objectName);
}
@@ -397,9 +386,16 @@
for (Iterator i = gbeans.entrySet().iterator(); i.hasNext();) {
Map.Entry entry = (Map.Entry) i.next();
ObjectName objectName = (ObjectName) entry.getKey();
- GBeanMBean gbean = (GBeanMBean) entry.getValue();
+
+ // value may be either a gbeanMBean or a gbeanData
+ GBeanData gbeanData;
+ if (entry.getValue() instanceof GBeanMBean) {
+ GBeanMBean gbeanMBean = (GBeanMBean) entry.getValue();
+ gbeanData = gbeanMBean.getGBeanData();
+ } else {
+ gbeanData = (GBeanData) entry.getValue();
+ }
try {
- GBeanData gbeanData = gbean.getGBeanData();
// todo we must explicitly set the bean name here from the gbean key because the gbean mbean may
// not have been brought online, so the object namve in the gbean mbean will be null
gbeanData.setName(objectName);
Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java?view=diff&rev=109251&p1=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java&r1=109250&p2=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java (original)
+++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java Tue Nov 30 14:56:24 2004
@@ -49,21 +49,21 @@
ObjectName load(URI configID) throws NoSuchConfigException, IOException, InvalidConfigException;
+ /**
+ * @deprecated use load(GBeanData config, URL rootURL, ClassLoader classLoader)
+ */
ObjectName load(GBeanMBean config, URL rootURL) throws InvalidConfigException;
- void load(GBeanData config, URL rootURL, ClassLoader classLoader) throws InvalidConfigException;
-
/**
* Load the supplied Configuration into the Kernel and override the default JMX name.
* This method should be used with discretion as it is possible to create
* Configurations that cannot be located by management or monitoring tools.
*
- * @param config the GBeanMBean representing the Configuration
+ * @param config the GBeanData representing the Configuration
* @param rootURL the URL to be used to resolve relative paths in the configuration
- * @param configName the JMX ObjectName to register the Configuration under
* @throws org.apache.geronimo.kernel.config.InvalidConfigException if the Configuration is not valid
*/
- void load(GBeanMBean config, URL rootURL, ObjectName configName) throws InvalidConfigException;
+ ObjectName load(GBeanData config, URL rootURL, ClassLoader classLoader) throws InvalidConfigException;
List loadRecursive(URI configID) throws NoSuchConfigException, IOException, InvalidConfigException;
Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManagerImpl.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManagerImpl.java?view=diff&rev=109251&p1=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManagerImpl.java&r1=109250&p2=geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManagerImpl.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManagerImpl.java (original)
+++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManagerImpl.java Tue Nov 30 14:56:24 2004
@@ -26,18 +26,18 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
-
-import javax.management.InstanceNotFoundException;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.gbean.GBeanData;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.gbean.GBeanLifecycle;
-import org.apache.geronimo.gbean.GBeanData;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
+import org.apache.geronimo.kernel.InternalKernelException;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.jmx.JMXUtil;
import org.apache.geronimo.kernel.management.State;
@@ -130,6 +130,9 @@
throw new NoSuchConfigException("No configuration with id: " + configID);
}
+ /**
+ * @deprecated use load(GBeanData config, URL rootURL, ClassLoader classLoader)
+ */
public ObjectName load(GBeanMBean config, URL rootURL) throws InvalidConfigException {
URI configID;
try {
@@ -137,26 +140,16 @@
} catch (Exception e) {
throw new InvalidConfigException("Cannot get config ID", e);
}
+
ObjectName configName;
try {
configName = Configuration.getConfigurationObjectName(configID);
} catch (MalformedObjectNameException e) {
throw new InvalidConfigException("Cannot convert ID to ObjectName: ", e);
}
- load(config, rootURL, configName);
- return configName;
- }
-
- public void load(GBeanData config, URL rootURL, ClassLoader classLoader) throws InvalidConfigException {
- GBeanMBean mbean = new GBeanMBean(config, classLoader);
- load(mbean, rootURL, config.getName());
- }
- public void load(GBeanMBean config, URL rootURL, ObjectName configName) throws InvalidConfigException {
try {
kernel.loadGBean(configName, config);
- } catch (InvalidConfigException e) {
- throw e;
} catch (Exception e) {
throw new InvalidConfigException("Unable to register configuration", e);
}
@@ -172,6 +165,39 @@
throw new InvalidConfigException("Cannot set baseURL", e);
}
log.info("Loaded Configuration " + configName);
+
+ return configName;
+ }
+
+ public ObjectName load(GBeanData config, URL rootURL, ClassLoader classLoader) throws InvalidConfigException {
+ ObjectName name;
+ try {
+ URI configID = (URI) config.getAttribute("ID");
+ name = Configuration.getConfigurationObjectName(configID);
+ } catch (MalformedObjectNameException e) {
+ throw new InvalidConfigException("Cannot convert ID to ObjectName: ", e);
+ }
+ config.setName(name);
+
+ try {
+ kernel.loadGBean(config, classLoader);
+ } catch (Exception e) {
+ throw new InvalidConfigException("Unable to register configuration", e);
+ }
+
+ try {
+ kernel.setAttribute(name, "baseURL", rootURL);
+ } catch (Exception e) {
+ try {
+ kernel.unloadGBean(name);
+ } catch (Exception ignored) {
+ // ignore
+ }
+ throw new InvalidConfigException("Cannot set baseURL", e);
+ }
+ log.info("Loaded Configuration " + name);
+
+ return name;
}
public List loadRecursive(URI configID) throws NoSuchConfigException, IOException, InvalidConfigException {
@@ -207,7 +233,7 @@
public void unload(ObjectName configName) throws NoSuchConfigException {
try {
kernel.unloadGBean(configName);
- } catch (InstanceNotFoundException e) {
+ } catch (GBeanNotFoundException e) {
throw new NoSuchConfigException("No config registered: " + configName, e);
}
log.info("Unloaded Configuration " + configName);
@@ -233,14 +259,14 @@
if (kernel.isLoaded(configName)) {
try {
kernel.stopGBean(configName);
- } catch (InstanceNotFoundException e) {
+ } catch (GBeanNotFoundException e) {
// ignore
- } catch (InvalidConfigException e) {
+ } catch (InternalKernelException e) {
log.warn("Could not stop configuration: " + configName, e);
}
try {
kernel.unloadGBean(configName);
- } catch (InstanceNotFoundException e) {
+ } catch (GBeanNotFoundException e) {
// ignore
}
}
Modified: geronimo/trunk/modules/kernel/src/test/org/apache/geronimo/kernel/ConfigTest.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/test/org/apache/geronimo/kernel/ConfigTest.java?view=diff&rev=109251&p1=geronimo/trunk/modules/kernel/src/test/org/apache/geronimo/kernel/ConfigTest.java&r1=109250&p2=geronimo/trunk/modules/kernel/src/test/org/apache/geronimo/kernel/ConfigTest.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/kernel/src/test/org/apache/geronimo/kernel/ConfigTest.java (original)
+++ geronimo/trunk/modules/kernel/src/test/org/apache/geronimo/kernel/ConfigTest.java Tue Nov 30 14:56:24 2004
@@ -21,13 +21,10 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import javax.management.Attribute;
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanServer;
import javax.management.ObjectName;
import junit.framework.TestCase;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.gbean.GBeanData;
import org.apache.geronimo.kernel.config.Configuration;
import org.apache.geronimo.kernel.config.ConfigurationManager;
import org.apache.geronimo.kernel.management.State;
@@ -38,78 +35,70 @@
public class ConfigTest extends TestCase {
private ObjectName gbeanName1;
private Kernel kernel;
- private MBeanServer mbServer;
private byte[] state;
private ObjectName gbeanName2;
- public void testOfflineConfig() throws Exception {
- GBeanMBean config = new GBeanMBean(Configuration.GBEAN_INFO);
- config.setAttribute("ID", new URI("test"));
- config.setReferencePatterns("Parent", null);
- }
-
public void testOnlineConfig() throws Exception {
- GBeanMBean config = new GBeanMBean(Configuration.GBEAN_INFO);
+ GBeanData config = new GBeanData(Configuration.GBEAN_INFO);
config.setAttribute("ID", new URI("test"));
config.setReferencePatterns("Parent", null);
config.setAttribute("classPath", Collections.EMPTY_LIST);
config.setAttribute("gBeanState", state);
config.setAttribute("dependencies", Collections.EMPTY_LIST);
ConfigurationManager configurationManager = kernel.getConfigurationManager();
- ObjectName configName = configurationManager.load(config, null);
- mbServer.invoke(configName, "startRecursive", null, null);
+ ObjectName configName = configurationManager.load(config, null, getClass().getClassLoader());
+ kernel.invoke(configName, "startRecursive", null, null);
- assertEquals(new Integer(State.RUNNING_INDEX), mbServer.getAttribute(configName, "state"));
- assertNotNull(mbServer.getAttribute(configName, "configurationClassLoader"));
+ assertEquals(new Integer(State.RUNNING_INDEX), kernel.getAttribute(configName, "state"));
+ assertNotNull(kernel.getAttribute(configName, "configurationClassLoader"));
- assertEquals(new Integer(State.RUNNING_INDEX), mbServer.getAttribute(gbeanName1, "state"));
- Object state = mbServer.getAttribute(gbeanName2, "state");
+ assertEquals(new Integer(State.RUNNING_INDEX), kernel.getAttribute(gbeanName1, "state"));
+ Object state = kernel.getAttribute(gbeanName2, "state");
assertEquals(new Integer(State.RUNNING_INDEX), state);
- assertEquals(new Integer(1), mbServer.getAttribute(gbeanName1, "finalInt"));
- assertEquals("1234", mbServer.getAttribute(gbeanName1, "value"));
- assertEquals(new Integer(3), mbServer.getAttribute(gbeanName2, "finalInt"));
+ assertEquals(new Integer(1), kernel.getAttribute(gbeanName1, "finalInt"));
+ assertEquals("1234", kernel.getAttribute(gbeanName1, "value"));
+ assertEquals(new Integer(3), kernel.getAttribute(gbeanName2, "finalInt"));
- mbServer.setAttribute(gbeanName2, new Attribute("mutableInt", new Integer(44)));
- assertEquals(new Integer(44), mbServer.getAttribute(gbeanName2, "mutableInt"));
+ kernel.setAttribute(gbeanName2, "mutableInt", new Integer(44));
+ assertEquals(new Integer(44), kernel.getAttribute(gbeanName2, "mutableInt"));
- mbServer.invoke(gbeanName2, "doSetMutableInt", new Object[]{new Integer(55)}, new String[]{"int"});
- assertEquals(new Integer(55), mbServer.getAttribute(gbeanName2, "mutableInt"));
+ kernel.invoke(gbeanName2, "doSetMutableInt", new Object[]{new Integer(55)}, new String[]{"int"});
+ assertEquals(new Integer(55), kernel.getAttribute(gbeanName2, "mutableInt"));
- assertEquals("no endpoint", mbServer.invoke(gbeanName1, "checkEndpoint", null, null));
- assertEquals("endpointCheck", mbServer.invoke(gbeanName2, "checkEndpoint", null, null));
+ assertEquals("no endpoint", kernel.invoke(gbeanName1, "checkEndpoint", null, null));
+ assertEquals("endpointCheck", kernel.invoke(gbeanName2, "checkEndpoint", null, null));
- assertEquals(new Integer(0), mbServer.invoke(gbeanName1, "checkEndpointCollection", null, null));
- assertEquals(new Integer(1), mbServer.invoke(gbeanName2, "checkEndpointCollection", null, null));
+ assertEquals(new Integer(0), kernel.invoke(gbeanName1, "checkEndpointCollection", null, null));
+ assertEquals(new Integer(1), kernel.invoke(gbeanName2, "checkEndpointCollection", null, null));
- mbServer.setAttribute(gbeanName2, new Attribute("endpointMutableInt", new Integer(99)));
- assertEquals(new Integer(99), mbServer.getAttribute(gbeanName2, "endpointMutableInt"));
- assertEquals(new Integer(99), mbServer.getAttribute(gbeanName1, "mutableInt"));
+ kernel.setAttribute(gbeanName2, "endpointMutableInt", new Integer(99));
+ assertEquals(new Integer(99), kernel.getAttribute(gbeanName2, "endpointMutableInt"));
+ assertEquals(new Integer(99), kernel.getAttribute(gbeanName1, "mutableInt"));
- mbServer.invoke(configName, "stop", null, null);
+ kernel.invoke(configName, "stop", null, null);
try {
- mbServer.getAttribute(gbeanName1, "value");
+ kernel.getAttribute(gbeanName1, "value");
fail();
- } catch (InstanceNotFoundException e) {
+ } catch (GBeanNotFoundException e) {
// ok
}
- assertEquals(new Integer(State.STOPPED.toInt()), mbServer.getAttribute(configName, "state"));
+ assertEquals(new Integer(State.STOPPED.toInt()), kernel.getAttribute(configName, "state"));
configurationManager.unload(configName);
- assertFalse(mbServer.isRegistered(configName));
+ assertFalse(kernel.isLoaded(configName));
}
protected void setUp() throws Exception {
- kernel = new Kernel("test.kernel", "geronimo");
+ kernel = new Kernel("test");
kernel.boot();
- mbServer = kernel.getMBeanServer();
-
gbeanName1 = new ObjectName("geronimo.test:name=MyMockGMBean1");
- GBeanMBean mockBean1 = new GBeanMBean(MockGBean.getGBeanInfo());
+ GBeanData mockBean1 = new GBeanData(gbeanName1, MockGBean.getGBeanInfo());
mockBean1.setAttribute("value", "1234");
mockBean1.setAttribute("name", "child");
mockBean1.setAttribute("finalInt", new Integer(1));
+
gbeanName2 = new ObjectName("geronimo.test:name=MyMockGMBean2");
- GBeanMBean mockBean2 = new GBeanMBean(MockGBean.getGBeanInfo());
+ GBeanData mockBean2 = new GBeanData(gbeanName2, MockGBean.getGBeanInfo());
mockBean2.setAttribute("value", "5678");
mockBean2.setAttribute("name", "Parent");
mockBean2.setAttribute("finalInt", new Integer(3));
@@ -123,7 +112,6 @@
}
protected void tearDown() throws Exception {
- mbServer = null;
kernel.shutdown();
}
}
Modified: geronimo/trunk/modules/mail/src/test/org/apache/geronimo/mail/MailGBeanTest.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/mail/src/test/org/apache/geronimo/mail/MailGBeanTest.java?view=diff&rev=109251&p1=geronimo/trunk/modules/mail/src/test/org/apache/geronimo/mail/MailGBeanTest.java&r1=109250&p2=geronimo/trunk/modules/mail/src/test/org/apache/geronimo/mail/MailGBeanTest.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/mail/src/test/org/apache/geronimo/mail/MailGBeanTest.java (original)
+++ geronimo/trunk/modules/mail/src/test/org/apache/geronimo/mail/MailGBeanTest.java Tue Nov 30 14:56:24 2004
@@ -16,13 +16,11 @@
*/
package org.apache.geronimo.mail;
+import java.util.Properties;
import javax.mail.Session;
-import javax.mail.Store;
import javax.management.ObjectName;
-import java.util.Properties;
import junit.framework.TestCase;
-
import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.apache.geronimo.kernel.Kernel;
Modified: geronimo/trunk/modules/spring/src/java/org/apache/geronimo/spring/SpringGBean.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/spring/src/java/org/apache/geronimo/spring/SpringGBean.java?view=diff&rev=109251&p1=geronimo/trunk/modules/spring/src/java/org/apache/geronimo/spring/SpringGBean.java&r1=109250&p2=geronimo/trunk/modules/spring/src/java/org/apache/geronimo/spring/SpringGBean.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/spring/src/java/org/apache/geronimo/spring/SpringGBean.java (original)
+++ geronimo/trunk/modules/spring/src/java/org/apache/geronimo/spring/SpringGBean.java Tue Nov 30 14:56:24 2004
@@ -17,25 +17,22 @@
package org.apache.geronimo.spring;
+import java.util.Hashtable;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.gbean.GBeanLifecycle;
import org.apache.geronimo.gbean.WaitingException;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.apache.geronimo.kernel.Kernel;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.beans.factory.support.BeanDefinitionValidationException;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
-
-import javax.management.ObjectName;
-import javax.management.MalformedObjectNameException;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Properties;
-import java.util.Hashtable;
/**
* A GBean for creating graphs of Spring POJOs and auto-deploying them inside Geronimo as GBeans
Modified: geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java?view=diff&rev=109251&p1=geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java&r1=109250&p2=geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java&r2=109251
==============================================================================
--- geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java (original)
+++ geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java Tue Nov 30 14:56:24 2004
@@ -22,14 +22,14 @@
import java.util.Iterator;
import java.util.List;
import javax.management.ObjectName;
-import javax.management.InstanceNotFoundException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.InternalKernelException;
import org.apache.geronimo.kernel.config.ConfigurationManager;
-import org.apache.geronimo.kernel.config.InvalidConfigException;
import org.apache.geronimo.kernel.log.GeronimoLogging;
import org.apache.geronimo.system.url.GeronimoURLFactory;
@@ -95,7 +95,7 @@
protected void startKernel(List configurations) throws Exception {
// boot the kernel
- kernel = new Kernel("geronimo.kernel", "geronimo");
+ kernel = new Kernel("geronimo");
kernel.boot();
// load and start the configuration in this jar
@@ -126,7 +126,7 @@
return kernel;
}
- protected void stopKernel() throws InstanceNotFoundException, InvalidConfigException {
+ protected void stopKernel() throws GBeanNotFoundException, InternalKernelException {
// stop this configuration
kernel.stopGBean(config.getName());