janb 2003/10/29 23:47:05
Modified: modules/core/src/java/org/apache/geronimo/core/service
AbstractRPCContainer.java Component.java
modules/core/src/java/org/apache/geronimo/ejb
EJBProxyFactoryManager.java
modules/core/src/java/org/apache/geronimo/ejb/cache
EnterpriseContextInstanceCache.java
EnterpriseContextInstancePool.java
StatelessInstanceFactory.java
modules/core/src/java/org/apache/geronimo/remoting/router
AbstractInterceptorRouter.java
AbstractRouterRouter.java
modules/core/src/java/org/apache/geronimo/remoting/transport
TransportLoader.java
modules/kernel/src/java/org/apache/geronimo/kernel/service
AbstractManagedObject.java
modules/web/src/java/org/apache/geronimo/web
AbstractWebApplication.java
AbstractWebConnector.java AbstractWebContainer.java
WebAccessLog.java WebApplication.java
WebConnector.java WebContainer.java
modules/web/src/java/org/apache/geronimo/web/jetty
JettyWebApplication.java JettyWebConnector.java
JettyWebContainer.java
Added: modules/core/src/java/org/apache/geronimo/core/service
AbstractManagedComponent.java
AbstractManagedContainer.java ManagedComponent.java
ManagedContainer.java
Removed: modules/core/src/java/org/apache/geronimo/core/service
AbstractComponent.java AbstractContainer.java
AbstractStateManageable.java
Log:
Update for changes to remove AbstractStateManageable and replace with use of
AbstractManagedObject
Revision Changes Path
1.2 +3 -3
incubator-geronimo/modules/core/src/java/org/apache/geronimo/core/service/AbstractRPCContainer.java
Index: AbstractRPCContainer.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/core/service/AbstractRPCContainer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractRPCContainer.java 8 Sep 2003 04:25:19 -0000 1.1
+++ AbstractRPCContainer.java 30 Oct 2003 07:47:04 -0000 1.2
@@ -61,14 +61,14 @@
import javax.management.ObjectName;
import org.apache.geronimo.kernel.management.State;
-import org.apache.geronimo.core.service.AbstractContainer;
+import org.apache.geronimo.core.service.AbstractManagedContainer;
/**
* Base class for a Container that can accept invocations.
*
* @version $Revision$ $Date$
*/
-public class AbstractRPCContainer extends AbstractContainer implements
RPCContainer {
+public class AbstractRPCContainer extends AbstractManagedContainer
implements RPCContainer {
// @todo access to these objects must be synchronized
private final Map plugins = new LinkedHashMap();
private final Map pluginObjects = new LinkedHashMap();
1.2 +1 -8
incubator-geronimo/modules/core/src/java/org/apache/geronimo/core/service/Component.java
Index: Component.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/core/service/Component.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Component.java 8 Sep 2003 04:25:19 -0000 1.1
+++ Component.java 30 Oct 2003 07:47:04 -0000 1.2
@@ -81,11 +81,4 @@
*/
void setContainer(Container container) throws IllegalStateException,
IllegalArgumentException;
-
- /**
- * Get the unique id of this Component
- *
- * @return name formatted according to JSR77
- */
- String getObjectName();
}
1.1
incubator-geronimo/modules/core/src/java/org/apache/geronimo/core/service/AbstractManagedComponent.java
Index: AbstractManagedComponent.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.core.service;
import org.apache.geronimo.kernel.management.State;
import org.apache.geronimo.kernel.service.AbstractManagedObject;
/**
* A helper implementation of the Component interface that should
* be used as a base class for Component implementations.
*
* @todo this is broken because name is required but there is no way to set it
*
* @version $Revision: 1.1 $ $Date: 2003/10/30 07:47:04 $
*/
public class AbstractManagedComponent extends AbstractManagedObject
implements ManagedComponent {
/**
* the Container this Component belongs to
*/
protected Container container;
/**
* The Container that this Component belongs to
*
* @return a <code>Container</code> value
*/
public Container getContainer() {
return container;
}
/**
* Sets the container which ownes this component.
* The contianer can only be set before create() or to null after the
destroy().
*
* @param container which owns this component
* @throws java.lang.IllegalStateException if this component is not in
the not-created or destroyed state
* @throws java.lang.IllegalArgumentException if this comonent has not
been created and the container
* parameter is null, or the component has been destroyed and the
container parameter is NOT null
*/
public void setContainer(Container container)
throws IllegalStateException, IllegalArgumentException {
if (getStateInstance() != State.STOPPED) {
throw new IllegalStateException(
"Set container can only be called while in the stopped
state: state=" + getStateInstance());
}
this.container = container;
}
/* Start the Component
* @see org.apache.geronimo.core.service.AbstractManagedObject#doStart()
*/
protected void doStart() throws Exception {
}
/* Stop the Component
* @see org.apache.geronimo.core.service.AbstractManagedObject#doStop()
*/
protected void doStop() throws Exception {
}
/*
* @see
org.apache.geronimo.core.service.AbstractManagedObject#doNotification(java.lang.String)
*/
public void doNotification(String eventTypeValue) {
log.debug("notification: " + eventTypeValue + " from " + this);
}
/**
* Two Components are equal if they have the same name;
*
* @param component to test
* @return true if the names are the same, false otherwise
*/
public boolean equals(Object o) {
if (o instanceof AbstractManagedComponent) {
AbstractManagedComponent component = (AbstractManagedComponent)o;
return component.getObjectName().equals(objectName);
}
return false;
}
/**
* Get a hash value for this Component.
* This is the hash of the unique name of
* the Component.
*
* @return hash of Component name
*/
public int hashCode() {
if (objectName == null) {
return 0;
}
return objectName.toString().hashCode();
}
}
1.1
incubator-geronimo/modules/core/src/java/org/apache/geronimo/core/service/AbstractManagedContainer.java
Index: AbstractManagedContainer.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.core.service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import org.apache.geronimo.common.NullArgumentException;
import org.apache.geronimo.kernel.jmx.JMXUtil;
import org.apache.geronimo.kernel.deployment.DependencyServiceMBean;
import org.apache.geronimo.core.service.AbstractManagedComponent;
/**
* Abstract implementation of Container interface.
*
* @version $Revision: 1.1 $ $Date: 2003/10/30 07:47:04 $
*
*/
public abstract class AbstractManagedContainer extends
AbstractManagedComponent implements ManagedContainer {
/**
* The Dependency Service manager. We register our components with the
is service because
* we need to stop if any of our services fail or stop.
*/
private DependencyServiceMBean dependency;
/**
* The components owned by this container
* @todo all accss to this must be synchronized
*/
private ArrayList components = new ArrayList();
public ObjectName preRegister(MBeanServer server, ObjectName objectName)
throws Exception {
dependency = JMXUtil.getDependencyService(server);
return super.preRegister(server, objectName);
}
/**
* Add a component to the set for a Container.
* Subclasses might like to override this in order
* to check their state before allowing the addition.
*
* @param component
*/
public void addComponent(Component component) {
if (component == null) {
throw new NullArgumentException("component");
}
if (component instanceof AbstractManagedComponent) {
try {
dependency.addStartDependency(new
ObjectName(((AbstractManagedComponent)component).getObjectName()), objectName);
} catch (MalformedObjectNameException e) {
throw new IllegalArgumentException("Component does not have a
valid object name: objectName=" +
((AbstractManagedComponent)component).getObjectName());
}
}
components.add(component);
}
/**
* Get all the Components known to the Container
*
* @return an immutable List of Components
*/
public List getComponents() {
return Collections.unmodifiableList(components);
}
/**
* Remove a Component from the Container.
* If the Component is not in the Container,
* an Exception is thrown.
*
* Subclasses might want to override this, for
* example to disallow Component addition/removal
* after the Container is started.
*
* @param component the Component to remove
*/
public void removeComponent(Component component) {
if (component == null) {
throw new NullArgumentException("component");
}
if (component instanceof AbstractManagedComponent) {
try {
dependency.removeStartDependency(objectName, new
ObjectName(((AbstractManagedComponent)component).getObjectName()));
} catch (MalformedObjectNameException e) {
throw new IllegalArgumentException("Component does not have a
valid object name: objectName=" +
((AbstractManagedComponent)component).getObjectName());
}
}
components.remove(component);
}
}
1.1
incubator-geronimo/modules/core/src/java/org/apache/geronimo/core/service/ManagedComponent.java
Index: ManagedComponent.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.core.service;
import org.apache.geronimo.kernel.management.ManagedObject;
/*
--------------------------------------------------------------------------------------
*/
/**
* ManagedComponent
*
*
* @version $Revision: 1.1 $ $Date: 2003/10/30 07:47:04 $
*/
public interface ManagedComponent extends ManagedObject, Component
{
}
1.1
incubator-geronimo/modules/core/src/java/org/apache/geronimo/core/service/ManagedContainer.java
Index: ManagedContainer.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.core.service;
import org.apache.geronimo.kernel.management.ManagedObject;
/*
--------------------------------------------------------------------------------------
*/
/**
* ManagedContainer
*
*
* @version $Revision: 1.1 $ $Date: 2003/10/30 07:47:04 $
*/
public interface ManagedContainer extends ManagedObject, Container
{
}
1.7 +3 -3
incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/EJBProxyFactoryManager.java
Index: EJBProxyFactoryManager.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/EJBProxyFactoryManager.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- EJBProxyFactoryManager.java 8 Sep 2003 04:28:26 -0000 1.6
+++ EJBProxyFactoryManager.java 30 Oct 2003 07:47:04 -0000 1.7
@@ -60,7 +60,7 @@
import java.util.Map;
import javax.ejb.EJBException;
-import org.apache.geronimo.core.service.AbstractComponent;
+import org.apache.geronimo.core.service.AbstractManagedComponent;
import org.apache.geronimo.core.service.RPCContainer;
import org.apache.geronimo.ejb.container.EJBPlugins;
@@ -70,7 +70,7 @@
*
* @version $Revision$ $Date$
*/
-public class EJBProxyFactoryManager extends AbstractComponent {
+public class EJBProxyFactoryManager extends AbstractManagedComponent {
private Map proxies = new HashMap();
private ThreadLocal threadEJBProxyFactory = new ThreadLocal();
1.8 +3 -3
incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/EnterpriseContextInstanceCache.java
Index: EnterpriseContextInstanceCache.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/EnterpriseContextInstanceCache.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- EnterpriseContextInstanceCache.java 8 Sep 2003 04:28:26 -0000
1.7
+++ EnterpriseContextInstanceCache.java 30 Oct 2003 07:47:04 -0000
1.8
@@ -62,7 +62,7 @@
import org.apache.geronimo.cache.InstanceCache;
import org.apache.geronimo.cache.LRUInstanceCache;
import org.apache.geronimo.cache.LRURunner;
-import org.apache.geronimo.core.service.AbstractComponent;
+import org.apache.geronimo.core.service.AbstractManagedComponent;
import org.apache.geronimo.core.service.Container;
import org.apache.geronimo.core.service.RPCContainer;
import org.apache.geronimo.ejb.EnterpriseContext;
@@ -72,7 +72,7 @@
*
* @version $Revision$ $Date$
*/
-public final class EnterpriseContextInstanceCache extends AbstractComponent
implements InstanceCache {
+public final class EnterpriseContextInstanceCache extends
AbstractManagedComponent implements InstanceCache {
private LRUInstanceCache cache;
private int highSize = 10;
private int lowSize = 5;
1.7 +3 -3
incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/EnterpriseContextInstancePool.java
Index: EnterpriseContextInstancePool.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/EnterpriseContextInstancePool.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- EnterpriseContextInstancePool.java 8 Sep 2003 04:28:26 -0000
1.6
+++ EnterpriseContextInstancePool.java 30 Oct 2003 07:47:04 -0000
1.7
@@ -64,7 +64,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.cache.InstancePool;
import org.apache.geronimo.cache.SimpleInstancePool;
-import org.apache.geronimo.core.service.AbstractComponent;
+import org.apache.geronimo.core.service.AbstractManagedComponent;
import org.apache.geronimo.core.service.RPCContainer;
import org.apache.geronimo.ejb.EnterpriseContext;
import org.apache.geronimo.ejb.container.EJBPlugins;
@@ -74,7 +74,7 @@
*
* @version $Revision$ $Date$
*/
-public final class EnterpriseContextInstancePool extends AbstractComponent
implements InstancePool {
+public final class EnterpriseContextInstancePool extends
AbstractManagedComponent implements InstancePool {
private SimpleInstancePool pool;
private DiscardQueue discardQueue;
private int maxSize = 100;
1.7 +3 -3
incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/StatelessInstanceFactory.java
Index: StatelessInstanceFactory.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/StatelessInstanceFactory.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- StatelessInstanceFactory.java 8 Sep 2003 04:28:26 -0000 1.6
+++ StatelessInstanceFactory.java 30 Oct 2003 07:47:04 -0000 1.7
@@ -61,7 +61,7 @@
import javax.ejb.SessionBean;
import org.apache.geronimo.cache.InstanceFactory;
-import org.apache.geronimo.core.service.AbstractComponent;
+import org.apache.geronimo.core.service.AbstractManagedComponent;
import org.apache.geronimo.core.service.RPCContainer;
import org.apache.geronimo.ejb.EnterpriseContext;
import org.apache.geronimo.ejb.GeronimoSessionContext;
@@ -74,7 +74,7 @@
*
* @version $Revision$ $Date$
*/
-public class StatelessInstanceFactory extends AbstractComponent implements
InstanceFactory {
+public class StatelessInstanceFactory extends AbstractManagedComponent
implements InstanceFactory {
private Class beanClass;
private Method ejbCreate;
1.4 +3 -3
incubator-geronimo/modules/core/src/java/org/apache/geronimo/remoting/router/AbstractInterceptorRouter.java
Index: AbstractInterceptorRouter.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/remoting/router/AbstractInterceptorRouter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AbstractInterceptorRouter.java 8 Sep 2003 04:33:53 -0000 1.3
+++ AbstractInterceptorRouter.java 30 Oct 2003 07:47:04 -0000 1.4
@@ -169,14 +169,14 @@
abstract protected Interceptor lookupInterceptorFrom(URI to) throws
Throwable;
/**
- * @see
org.apache.geronimo.core.service.AbstractStateManageable#doStart()
+ * @see org.apache.geronimo.core.service.AbstractManagedObject#doStart()
*/
protected void doStart() throws Exception {
routerLock.release();
}
/**
- * @see org.apache.geronimo.core.service.AbstractStateManageable#doStop()
+ * @see org.apache.geronimo.core.service.AbstractManagedObject#doStop()
*/
protected void doStop() throws Exception {
routerLock = createNewRouterLock();
1.4 +3 -3
incubator-geronimo/modules/core/src/java/org/apache/geronimo/remoting/router/AbstractRouterRouter.java
Index: AbstractRouterRouter.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/remoting/router/AbstractRouterRouter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AbstractRouterRouter.java 8 Sep 2003 04:33:53 -0000 1.3
+++ AbstractRouterRouter.java 30 Oct 2003 07:47:04 -0000 1.4
@@ -154,14 +154,14 @@
abstract protected Router lookupRouterFrom(URI to);
/**
- * @see
org.apache.geronimo.core.service.AbstractStateManageable#doStart()
+ * @see org.apache.geronimo.core.service.AbstractManagedObject#doStart()
*/
protected void doStart() throws Exception {
routerLock.release();
}
/**
- * @see org.apache.geronimo.core.service.AbstractStateManageable#doStop()
+ * @see org.apache.geronimo.core.service.AbstractManagedObject#doStop()
*/
protected void doStop() throws Exception {
routerLock = createNewRouterLock();
1.6 +3 -3
incubator-geronimo/modules/core/src/java/org/apache/geronimo/remoting/transport/TransportLoader.java
Index: TransportLoader.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/remoting/transport/TransportLoader.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TransportLoader.java 8 Sep 2003 04:33:54 -0000 1.5
+++ TransportLoader.java 30 Oct 2003 07:47:04 -0000 1.6
@@ -81,7 +81,7 @@
private ObjectName routerTarget;
/**
- * @see org.apache.geronimo.core.service.AbstractComponent#doStart()
+ * @see
org.apache.geronimo.core.service.AbstractManagedComponent#doStart()
*/
protected void doStart() throws Exception {
@@ -100,7 +100,7 @@
}
/**
- * @see org.apache.geronimo.core.service.AbstractComponent#doStop()
+ * @see
org.apache.geronimo.core.service.AbstractManagedComponent#doStop()
*/
protected void doStop() throws Exception {
if (transportServer == null) {
1.2 +4 -4
incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/kernel/service/AbstractManagedObject.java
Index: AbstractManagedObject.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/kernel/service/AbstractManagedObject.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractManagedObject.java 8 Sep 2003 04:38:35 -0000 1.1
+++ AbstractManagedObject.java 30 Oct 2003 07:47:04 -0000 1.2
@@ -120,17 +120,17 @@
/**
* The definitive list of notifications types supported by this service.
*/
- private final Set notificationTypes = new HashSet();
+ protected final Set notificationTypes = new HashSet();
/**
* A dynamic proxy to the dependency service.
*/
- private DependencyServiceMBean dependencyService;
+ protected DependencyServiceMBean dependencyService;
/**
* A dynamic proxy to the relation service.
*/
- private RelationServiceMBean relationService;
+ protected RelationServiceMBean relationService;
/**
* The sequence number of the events.
1.9 +67 -27
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/AbstractWebApplication.java
Index: AbstractWebApplication.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/AbstractWebApplication.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- AbstractWebApplication.java 28 Sep 2003 22:30:58 -0000 1.8
+++ AbstractWebApplication.java 30 Oct 2003 07:47:04 -0000 1.9
@@ -60,32 +60,34 @@
import java.net.URI;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.geronimo.core.service.AbstractComponent;
+import org.apache.geronimo.core.service.AbstractManagedComponent;
import org.apache.geronimo.core.service.Container;
+
/**
* AbstractWebApplication
*
* Instances are created by a deployer. The deployer finds the
* WebContainer and associates it with the WebApplication.
*
- * @jmx:mbean extends="org.apache.geronimo.web.WebApplication,
org.apache.geronimo.kernel.management.StateManageable,
javax.management.MBeanRegistration"
+ * @jmx:mbean extends="org.apache.geronimo.web.WebApplication,
org.apache.geronimo.kernel.management.ManagedObject,
org.apache.geronimo.kernel.management.StateManageable,
javax.management.MBeanRegistration"
* @version $Revision$ $Date$
*/
-public abstract class AbstractWebApplication extends AbstractComponent
implements WebApplication {
+public abstract class AbstractWebApplication extends
AbstractManagedComponent implements WebApplication {
private final static Log log =
LogFactory.getLog(AbstractWebApplication.class);
protected URI uri;
-
+
/**
* Class loading delegation model
*/
private boolean java2ClassloadingCompliance = false;
-
+
+ /*
--------------------------------------------------------------------------------------
*/
/**
* Creates a new <code>AbstractWebApplication</code> instance.
*
@@ -94,7 +96,7 @@
}
-
+ /*
--------------------------------------------------------------------------------------
*/
/**
* Creates a new <code>AbstractWebApplication</code> instance.
*
@@ -107,7 +109,7 @@
-
+ /*
--------------------------------------------------------------------------------------
*/
/**
* Start the webapp. Called by the container or management interface
* @throws Exception
@@ -117,6 +119,7 @@
}
+ /*
--------------------------------------------------------------------------------------
*/
/**
* Stop the webapp. Called by the container, or by mangement
* interface
@@ -128,31 +131,19 @@
+ /*
--------------------------------------------------------------------------------------
*/
+ /** Get the URI of this webapp
+ * @return the URI of the webapp
+ * @see org.apache.geronimo.web.WebApplication#getURI()
+ */
public URI getURI ()
{
return uri;
}
- /**
- * Return the list of Servlets of this webapp
- * @return
- * @see org.apache.geronimo.web.WebApplication#getServlets()
- */
- public String[] getServlets() {
- //TODO
- return null;
- }
-
- /**
- * @return
- * @see org.apache.geronimo.web.WebApplication#getDeploymentDescriptor()
- */
- public String getDeploymentDescriptor() {
- //TODO
- return null;
- }
-
+
+ /*
--------------------------------------------------------------------------------------
*/
/**
* Setter for classloading compliance. If true, then classloading will
* delegate first to parent classloader a la Java2 spec. If false, then
@@ -163,6 +154,7 @@
java2ClassloadingCompliance = state;
}
+ /*
--------------------------------------------------------------------------------------
*/
/**
* Getter for classloading compliance.
* @return truen if application is using Java 2 compliant class loading
@@ -172,6 +164,12 @@
}
+ /*
--------------------------------------------------------------------------------------
*/
+ /** Set the container to which this webapp belongs.
+ * In turn, we add ourselves as a component to that container.
+ * @param container
+ * @see
org.apache.geronimo.core.service.Component#setContainer(org.apache.geronimo.core.service.Container)
+ */
public void setContainer (Container container)
{
super.setContainer(container);
@@ -179,6 +177,48 @@
container.addComponent (this);
}
+ /*
--------------------------------------------------------------------------------------
*/
+ /** JSR077
+ * Return the list of Servlets of this webapp
+ * @return
+ * @see org.apache.geronimo.web.WebApplication#getServlets()
+ */
+ public String[] getServlets() {
+ //TODO
+ return null;
+ }
+
+ /*
--------------------------------------------------------------------------------------
*/
+ /** JSR077
+ * @return web.xml as a string
+ * @see org.apache.geronimo.web.WebApplication#getDeploymentDescriptor()
+ */
+ public String getDeploymentDescriptor() {
+ //TODO
+ return null;
+ }
+ /*
--------------------------------------------------------------------------------------
*/
+ /**JSR077
+ * @return ObjectName(s) as string of JVM(s) on which this webapp is
deployed
+ * @see org.apache.geronimo.kernel.management.J2EEModule#getJavaVMs()
+ */
+ public String[] getJavaVMs()
+ {
+ // TODO
+ return null;
+ }
+
+ /*
--------------------------------------------------------------------------------------
*/
+ /** JSR077
+ * @return ObjectName as string of Geronimo server on which this webapp
is deployed
+ * @see
org.apache.geronimo.kernel.management.J2EEDeployedObject#getServer()
+ */
+ public String getServer()
+ {
+ // TODO
+ return null;
+ }
+
}
1.3 +3 -3
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/AbstractWebConnector.java
Index: AbstractWebConnector.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/AbstractWebConnector.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractWebConnector.java 29 Sep 2003 13:12:45 -0000 1.2
+++ AbstractWebConnector.java 30 Oct 2003 07:47:04 -0000 1.3
@@ -1,6 +1,6 @@
package org.apache.geronimo.web;
-import org.apache.geronimo.core.service.AbstractComponent;
+import org.apache.geronimo.core.service.AbstractManagedComponent;
import org.apache.geronimo.core.service.Container;
import java.util.Arrays;
import java.util.List;
@@ -15,7 +15,7 @@
*
* @version $Revision$ $Date$
*/
-public abstract class AbstractWebConnector extends AbstractComponent
implements WebConnector, AbstractWebConnectorMBean
+public abstract class AbstractWebConnector extends AbstractManagedComponent
implements WebConnector, AbstractWebConnectorMBean
{
public static final String HTTP_PROTOCOL = "http";
1.11 +3 -3
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/AbstractWebContainer.java
Index: AbstractWebContainer.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/AbstractWebContainer.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- AbstractWebContainer.java 5 Oct 2003 01:38:21 -0000 1.10
+++ AbstractWebContainer.java 30 Oct 2003 07:47:05 -0000 1.11
@@ -79,7 +79,7 @@
import javax.management.ObjectName;
import javax.management.ReflectionException;
import javax.management.relation.Role;
-import org.apache.geronimo.core.service.AbstractContainer;
+import org.apache.geronimo.core.service.AbstractManagedContainer;
import org.apache.geronimo.core.service.Component;
import org.apache.geronimo.core.service.Container;
import org.apache.geronimo.kernel.deployment.DeploymentException;
@@ -120,7 +120,7 @@
* @version $Revision$ $Date$
*/
public abstract class AbstractWebContainer
- extends AbstractContainer
+ extends AbstractManagedContainer
implements WebContainer, AbstractWebContainerMBean, MBeanRegistration
{
private final static Log log =
1.5 +3 -3
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/WebAccessLog.java
Index: WebAccessLog.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/WebAccessLog.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- WebAccessLog.java 5 Oct 2003 01:38:21 -0000 1.4
+++ WebAccessLog.java 30 Oct 2003 07:47:05 -0000 1.5
@@ -57,7 +57,7 @@
package org.apache.geronimo.web;
import java.net.URI;
-import org.apache.geronimo.core.service.Component;
+import org.apache.geronimo.core.service.ManagedComponent;
/**
* WebAccessLog
@@ -66,7 +66,7 @@
*
* @version $Revision$ $Date$
*/
-public interface WebAccessLog extends Component {
+public interface WebAccessLog extends ManagedComponent {
public void setLogLocation(URI uri);
1.10 +4 -8
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/WebApplication.java
Index: WebApplication.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/WebApplication.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- WebApplication.java 5 Oct 2003 01:38:21 -0000 1.9
+++ WebApplication.java 30 Oct 2003 07:47:05 -0000 1.10
@@ -58,6 +58,7 @@
import java.net.URI;
import org.apache.geronimo.core.service.Component;
+import org.apache.geronimo.kernel.management.WebModule;
@@ -68,7 +69,7 @@
*
* @version $Revision$ $Date$
*/
-public interface WebApplication extends Component {
+public interface WebApplication extends Component, WebModule {
/*--------------------------------------------------------------------------------
*/
/**Get the uri of the webapp
@@ -89,12 +90,7 @@
*/
public ClassLoader getParentClassLoader ();
-
/*--------------------------------------------------------------------------------
*/
- /** JSR077 WebModule method to expose the
- * names of all servlets contained within this webapp.
- * @return Names of all servlets contained by this webapp
- */
- public String[] getServlets();
+
/*
--------------------------------------------------------------------------------------
*/
1.6 +3 -3
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/WebConnector.java
Index: WebConnector.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/WebConnector.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- WebConnector.java 5 Oct 2003 01:38:21 -0000 1.5
+++ WebConnector.java 30 Oct 2003 07:47:05 -0000 1.6
@@ -56,7 +56,7 @@
package org.apache.geronimo.web;
-import org.apache.geronimo.core.service.Component;
+import org.apache.geronimo.core.service.ManagedComponent;
/**
* WebConnector
@@ -66,7 +66,7 @@
*
* @version $Revision$ $Date$
*/
-public interface WebConnector extends Component {
+public interface WebConnector extends ManagedComponent {
/**
* Port number of connector
* @param port number on which to listen
1.8 +3 -3
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/WebContainer.java
Index: WebContainer.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/WebContainer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- WebContainer.java 28 Sep 2003 22:30:58 -0000 1.7
+++ WebContainer.java 30 Oct 2003 07:47:05 -0000 1.8
@@ -58,7 +58,7 @@
import java.net.URI;
-import org.apache.geronimo.core.service.Container;
+import org.apache.geronimo.core.service.ManagedContainer;
import org.w3c.dom.Document;
@@ -69,7 +69,7 @@
* @version $Revision$ $Date$
*/
-public interface WebContainer extends Container {
+public interface WebContainer extends ManagedContainer {
/**
1.3 +7 -5
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/jetty/JettyWebApplication.java
Index: JettyWebApplication.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/jetty/JettyWebApplication.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JettyWebApplication.java 28 Sep 2003 22:30:58 -0000 1.2
+++ JettyWebApplication.java 30 Oct 2003 07:47:05 -0000 1.3
@@ -1,15 +1,12 @@
package org.apache.geronimo.web.jetty;
import java.net.URI;
-import java.net.URL;
-import java.net.URLClassLoader;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.geronimo.core.service.AbstractComponent;
-import org.apache.geronimo.kernel.management.State;
import org.apache.geronimo.web.AbstractWebApplication;
+import org.apache.geronimo.web.WebContainer;
import org.mortbay.jetty.servlet.WebApplicationContext;
@@ -116,6 +113,11 @@
public void doStart () throws Exception
{
super.doStart();
+ String defaultDescriptor = null;
+ URI defaultDescriptorURI =
((WebContainer)getContainer()).getDefaultWebXmlURI();
+ if (defaultDescriptorURI != null)
+ defaultDescriptor = defaultDescriptorURI.toString();
+ jettyContext.setDefaultsDescriptor(defaultDescriptor);
jettyContext.start();
log.debug (jettyContext.getFileClassPath());
1.5 +3 -4
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/jetty/JettyWebConnector.java
Index: JettyWebConnector.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/jetty/JettyWebConnector.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JettyWebConnector.java 14 Sep 2003 12:09:44 -0000 1.4
+++ JettyWebConnector.java 30 Oct 2003 07:47:05 -0000 1.5
@@ -57,19 +57,18 @@
package org.apache.geronimo.web.jetty;
import java.lang.reflect.Constructor;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.geronimo.core.service.AbstractComponent;
import org.apache.geronimo.core.service.Container;
import org.apache.geronimo.kernel.management.State;
import org.apache.geronimo.web.AbstractWebConnector;
-import org.apache.geronimo.web.WebConnector;
import org.mortbay.http.HttpListener;
import org.mortbay.http.SocketListener;
import org.mortbay.http.SunJsseListener;
import org.mortbay.http.ajp.AJP13Listener;
-import org.mortbay.util.ThreadedServer;
import org.mortbay.jetty.Server;
+import org.mortbay.util.ThreadedServer;
/**
* @jmx:mbean extends="org.apache.geronimo.web.AbstractWebConnectorMBean"
1.8 +2 -2
incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/jetty/JettyWebContainer.java
Index: JettyWebContainer.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/jetty/JettyWebContainer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JettyWebContainer.java 5 Oct 2003 01:38:21 -0000 1.7
+++ JettyWebContainer.java 30 Oct 2003 07:47:05 -0000 1.8
@@ -111,7 +111,7 @@
public WebApplication createWebApplication (URI uri)
{
- return new JettyWebApplication(uri);
+ return new JettyWebApplication(uri);
}