You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ja...@apache.org on 2003/08/15 16:12:19 UTC
cvs commit: incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context CMTInterceptor.java ExecutionContextInterceptor.java StatelessBMTInterceptor.java TransactionInterceptor.java
janb 2003/08/15 07:12:19
Modified: modules/core/src/java/org/apache/geronimo/ejb
CallbackInterceptor.java
EJBProxyFactoryManager.java EnterpriseContext.java
GeronimoSessionContext.java
SimpleEnterpriseContext.java
StatelessLifeCycleInterceptor.java
SynchronizationRegistry.java
modules/core/src/java/org/apache/geronimo/ejb/cache
EnterpriseContextInstanceCache.java
EnterpriseContextInstancePool.java
StatefulInstanceInterceptor.java
StatefulSessionSynchronizationInterceptor.java
StatelessInstanceFactory.java
StatelessInstanceInterceptor.java
modules/core/src/java/org/apache/geronimo/ejb/container
ContainerImpl.java EJBPlugins.java
modules/core/src/java/org/apache/geronimo/ejb/context
CMTInterceptor.java
ExecutionContextInterceptor.java
StatelessBMTInterceptor.java
TransactionInterceptor.java
Log:
Refactored Container to RPCContainer and AbstractRPCContainer. Many classes in ejb package required modification
to use RPCContainer instead of Container - for now this is done with class casts, which look messy, maybe theres
a better way.
Revision Changes Path
1.4 +3 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/CallbackInterceptor.java
Index: CallbackInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/CallbackInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CallbackInterceptor.java 11 Aug 2003 17:59:11 -0000 1.3
+++ CallbackInterceptor.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -62,6 +62,7 @@
import org.apache.geronimo.common.AbstractInterceptor;
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.common.SimpleInvocationResult;
import org.apache.geronimo.ejb.container.EJBPlugins;
import org.apache.geronimo.ejb.metadata.EJBMetadata;
@@ -88,7 +89,7 @@
}
// Method metadata
- EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata(getContainer());
+ EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata((RPCContainer)getContainer());
Method interfaceMethod = EJBInvocationUtil.getMethod(invocation);
MethodMetadata methodMetadata = ejbMetadata.getMethodMetadata(interfaceMethod);
1.5 +6 -5 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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EJBProxyFactoryManager.java 13 Aug 2003 02:12:40 -0000 1.4
+++ EJBProxyFactoryManager.java 15 Aug 2003 14:12:19 -0000 1.5
@@ -61,6 +61,7 @@
import javax.ejb.EJBException;
import org.apache.geronimo.common.AbstractComponent;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.container.EJBPlugins;
/**
@@ -75,25 +76,25 @@
public void doStart() throws Exception {
- log.debug("Starting EJBProxyFactoryManager: ejbName=" + EJBPlugins.getEJBMetadata(getContainer()).getName());
+ log.debug("Starting EJBProxyFactoryManager: ejbName=" + EJBPlugins.getEJBMetadata((RPCContainer)getContainer()).getName());
// @todo This should be handled by startRecursive()
for (Iterator iterator = proxies.keySet().iterator(); iterator.hasNext();) {
String proxyName = (String) iterator.next();
EJBProxyFactory ejbProxyFactory = getEJBProxyFactory(proxyName);
- log.debug("Starting EJBProxyFactory: proxyName=" + proxyName + " ejbName=" + EJBPlugins.getEJBMetadata(getContainer()).getName());
+ log.debug("Starting EJBProxyFactory: proxyName=" + proxyName + " ejbName=" + EJBPlugins.getEJBMetadata((RPCContainer)getContainer()).getName());
ejbProxyFactory.start();
}
}
public void doStop() {
- log.debug("Stopping EJBProxyFactoryManager: ejbName=" + EJBPlugins.getEJBMetadata(getContainer()).getName());
+ log.debug("Stopping EJBProxyFactoryManager: ejbName=" + EJBPlugins.getEJBMetadata((RPCContainer)getContainer()).getName());
// @todo This will not work when this is a container, as children must be stopped before stop() is called.
for (Iterator iterator = proxies.keySet().iterator(); iterator.hasNext();) {
String proxyName = (String) iterator.next();
EJBProxyFactory ejbProxyFactory = getEJBProxyFactory(proxyName);
- log.debug("Stopping EJBProxyFactory: proxyName=" + proxyName + " ejbName=" + EJBPlugins.getEJBMetadata(getContainer()).getName());
+ log.debug("Stopping EJBProxyFactory: proxyName=" + proxyName + " ejbName=" + EJBPlugins.getEJBMetadata((RPCContainer)getContainer()).getName());
ejbProxyFactory.stop();
}
}
1.3 +3 -3 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/EnterpriseContext.java
Index: EnterpriseContext.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/EnterpriseContext.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- EnterpriseContext.java 11 Aug 2003 17:59:11 -0000 1.2
+++ EnterpriseContext.java 15 Aug 2003 14:12:19 -0000 1.3
@@ -57,7 +57,7 @@
import javax.ejb.EnterpriseBean;
-import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
/**
*
@@ -74,7 +74,7 @@
void setId(Object id);
- Container getContainer();
+ RPCContainer getContainer();
EnterpriseBean getInstance();
1.4 +4 -4 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/GeronimoSessionContext.java
Index: GeronimoSessionContext.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/GeronimoSessionContext.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- GeronimoSessionContext.java 11 Aug 2003 17:59:11 -0000 1.3
+++ GeronimoSessionContext.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -71,7 +71,7 @@
import javax.transaction.UserTransaction;
import javax.xml.rpc.handler.MessageContext;
-import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.container.EJBPlugins;
import org.apache.geronimo.ejb.context.GeronimoUserTransaction;
import org.apache.geronimo.ejb.metadata.EJBMetadata;
@@ -83,12 +83,12 @@
* @version $Revision$ $Date$
*/
public class GeronimoSessionContext implements SessionContext {
- private final Container container;
+ private final RPCContainer container;
private final UserTransaction userTransaction;
private final TransactionManager transactionManager;
// private String state;
- public GeronimoSessionContext(Container container) {
+ public GeronimoSessionContext(RPCContainer container) {
this.container = container;
EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata(container);
transactionManager = EJBPlugins.getTransactionManager(container);
1.4 +5 -5 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/SimpleEnterpriseContext.java
Index: SimpleEnterpriseContext.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/SimpleEnterpriseContext.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SimpleEnterpriseContext.java 11 Aug 2003 17:59:11 -0000 1.3
+++ SimpleEnterpriseContext.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -57,7 +57,7 @@
import javax.ejb.EnterpriseBean;
-import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
/**
*
@@ -66,7 +66,7 @@
* @version $Revision$ $Date$
*/
public final class SimpleEnterpriseContext implements EnterpriseContext {
- private Container container;
+ private RPCContainer container;
private Object id;
private EnterpriseBean instance;
private boolean valid = false;
@@ -80,11 +80,11 @@
instance = null;
}
- public Container getContainer() {
+ public RPCContainer getContainer() {
return container;
}
- public void setContainer(Container container) {
+ public void setContainer(RPCContainer container) {
this.container = container;
}
1.4 +5 -4 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/StatelessLifeCycleInterceptor.java
Index: StatelessLifeCycleInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/StatelessLifeCycleInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatelessLifeCycleInterceptor.java 11 Aug 2003 17:59:11 -0000 1.3
+++ StatelessLifeCycleInterceptor.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -62,6 +62,7 @@
import org.apache.geronimo.common.AbstractInterceptor;
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.common.SimpleInvocationResult;
import org.apache.geronimo.ejb.container.EJBPlugins;
import org.apache.geronimo.ejb.metadata.EJBMetadata;
@@ -90,7 +91,7 @@
public void start() throws Exception {
super.start();
- EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata(getContainer());
+ EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata((RPCContainer)getContainer());
Class homeInterface = ejbMetadata.getHomeInterface();
if (homeInterface != null) {
createRemote = homeInterface.getMethod("create", null);
@@ -118,14 +119,14 @@
// remove for a stateless bean does nothing
return new SimpleInvocationResult();
} else if (method.equals(createRemote)) {
- EJBProxyFactoryManager ejbProxyFactoryManager = EJBPlugins.getEJBProxyFactoryManager(getContainer());
+ EJBProxyFactoryManager ejbProxyFactoryManager = EJBPlugins.getEJBProxyFactoryManager((RPCContainer)getContainer());
EJBProxyFactory ejbProxyFactory = ejbProxyFactoryManager.getThreadEJBProxyFactory();
if (ejbProxyFactory == null) {
throw new IllegalStateException("No remote proxy factory set");
}
return new SimpleInvocationResult(ejbProxyFactory.getEJBObject());
} else if (method.equals(createLocal)) {
- EJBProxyFactoryManager ejbProxyFactoryManager = EJBPlugins.getEJBProxyFactoryManager(getContainer());
+ EJBProxyFactoryManager ejbProxyFactoryManager = EJBPlugins.getEJBProxyFactoryManager((RPCContainer)getContainer());
EJBProxyFactory ejbProxyFactory = ejbProxyFactoryManager.getEJBProxyFactory("local");
if (ejbProxyFactory == null) {
throw new IllegalStateException("No local proxy factoy set");
1.4 +9 -9 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/SynchronizationRegistry.java
Index: SynchronizationRegistry.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/SynchronizationRegistry.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SynchronizationRegistry.java 11 Aug 2003 17:59:11 -0000 1.3
+++ SynchronizationRegistry.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -68,7 +68,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.container.EJBPlugins;
import org.apache.geronimo.ejb.context.ExecutionContext;
import org.apache.geronimo.ejb.context.TxExecutionContext;
@@ -130,7 +130,7 @@
public void beginInvocation(EnterpriseContext ctx) throws Exception {
Registry registry = getRegistry();
- Container container = ctx.getContainer();
+ RPCContainer container = ctx.getContainer();
// load if not valid
if (!ctx.isValid()) {
@@ -213,7 +213,7 @@
* Gets the EnterpriseContext for the current transaction in the
* specified container with the specified key.
*/
- public EnterpriseContext getContext(Container container, Object id) {
+ public EnterpriseContext getContext(RPCContainer container, Object id) {
Registry registry = getRegistry();
ContextKey key = new ContextKey(container, id);
return (EnterpriseContext) registry.getAssociatedMap().get(key);
@@ -269,7 +269,7 @@
}
private void synchronizeEntity(Registry registry, EnterpriseContext ctx) throws Exception {
- Container container = ctx.getContainer();
+ RPCContainer container = ctx.getContainer();
EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata(container);
// any one can mark the tx rollback at any time so check
@@ -326,7 +326,7 @@
*/
private void disassociateEntity(boolean rollback, Object id, EnterpriseContext ctx) {
// Get the container associated with this context
- Container container = ctx.getContainer();
+ RPCContainer container = ctx.getContainer();
EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata(container);
ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
@@ -418,10 +418,10 @@
}
private final class ContextKey {
- private final Container container;
+ private final RPCContainer container;
private final Object id;
- public ContextKey(final Container container, final Object id) {
+ public ContextKey(final RPCContainer container, final Object id) {
if (container == null) {
throw new IllegalArgumentException("Container is null");
}
@@ -432,7 +432,7 @@
this.id = id;
}
- public Container getContainer() {
+ public RPCContainer getContainer() {
return container;
}
1.4 +5 -4 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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EnterpriseContextInstanceCache.java 11 Aug 2003 17:59:11 -0000 1.3
+++ EnterpriseContextInstanceCache.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -64,6 +64,7 @@
import org.apache.geronimo.cache.LRURunner;
import org.apache.geronimo.common.AbstractComponent;
import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.EnterpriseContext;
import org.apache.geronimo.ejb.container.EJBPlugins;
@@ -108,7 +109,7 @@
// create a new context
Container container = getContainer();
try {
- ctx = (EnterpriseContext) EJBPlugins.getInstanceFactory(container).createInstance();
+ ctx = (EnterpriseContext) EJBPlugins.getInstanceFactory((RPCContainer)container).createInstance();
} catch (Exception e) {
throw new NoSuchObjectException("An error occured while getting a new context");
}
@@ -116,7 +117,7 @@
// set the id of the new context
ctx.setId(id);
- EJBPlugins.getPersistenceManager(container).activate(ctx);
+ EJBPlugins.getPersistenceManager((RPCContainer)container).activate(ctx);
cache.putActive(id, ctx);
}
}
@@ -281,7 +282,7 @@
public void remove(Object key, Object value) {
try {
EnterpriseContext context = (EnterpriseContext) value;
- EJBPlugins.getPersistenceManager(getContainer()).passivate(context);
+ EJBPlugins.getPersistenceManager((RPCContainer)getContainer()).passivate(context);
} catch (Throwable e) {
log.error("Could not passivate ejb: id=" + key, e);
}
1.5 +3 -2 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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EnterpriseContextInstancePool.java 13 Aug 2003 02:12:40 -0000 1.4
+++ EnterpriseContextInstancePool.java 15 Aug 2003 14:12:19 -0000 1.5
@@ -65,6 +65,7 @@
import org.apache.geronimo.cache.InstancePool;
import org.apache.geronimo.cache.SimpleInstancePool;
import org.apache.geronimo.common.AbstractComponent;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.EnterpriseContext;
import org.apache.geronimo.ejb.container.EJBPlugins;
@@ -81,7 +82,7 @@
public void doStart() throws Exception {
if (pool==null)
- pool = new SimpleInstancePool(EJBPlugins.getInstanceFactory(getContainer()), maxSize, hardLimit);
+ pool = new SimpleInstancePool(EJBPlugins.getInstanceFactory((RPCContainer)getContainer()), maxSize, hardLimit);
if (discardQueue==null)
discardQueue = new DiscardQueue();
1.4 +3 -3 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/StatefulInstanceInterceptor.java
Index: StatefulInstanceInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/StatefulInstanceInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatefulInstanceInterceptor.java 11 Aug 2003 17:59:11 -0000 1.3
+++ StatefulInstanceInterceptor.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -60,7 +60,7 @@
import org.apache.geronimo.cache.InstanceCache;
import org.apache.geronimo.cache.InstancePool;
import org.apache.geronimo.common.AbstractInterceptor;
-import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
import org.apache.geronimo.common.InvocationType;
@@ -85,7 +85,7 @@
public void start() throws Exception {
super.start();
- Container container = getContainer();
+ RPCContainer container = (RPCContainer)getContainer();
lockDomain = EJBPlugins.getLockDomain(container);
pool = EJBPlugins.getInstancePool(container);
cache = EJBPlugins.getInstanceCache(container);
1.4 +3 -3 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/StatefulSessionSynchronizationInterceptor.java
Index: StatefulSessionSynchronizationInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/StatefulSessionSynchronizationInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatefulSessionSynchronizationInterceptor.java 11 Aug 2003 17:59:11 -0000 1.3
+++ StatefulSessionSynchronizationInterceptor.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -67,7 +67,7 @@
import org.apache.geronimo.cache.InstanceCache;
import org.apache.geronimo.common.AbstractInterceptor;
-import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
import org.apache.geronimo.common.InvocationType;
@@ -91,7 +91,7 @@
public void start() throws Exception {
super.start();
- Container container = getContainer();
+ RPCContainer container = (RPCContainer)getContainer();
tm = EJBPlugins.getTransactionManager(container);
cache = EJBPlugins.getInstanceCache(container);
EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata(container);
1.4 +4 -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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatelessInstanceFactory.java 11 Aug 2003 17:59:11 -0000 1.3
+++ StatelessInstanceFactory.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -62,6 +62,7 @@
import org.apache.geronimo.cache.InstanceFactory;
import org.apache.geronimo.common.AbstractComponent;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.EnterpriseContext;
import org.apache.geronimo.ejb.GeronimoSessionContext;
import org.apache.geronimo.ejb.SimpleEnterpriseContext;
@@ -79,7 +80,7 @@
public void start() throws Exception {
super.start();
- beanClass = EJBPlugins.getEJBMetadata(getContainer()).getBeanClass();
+ beanClass = EJBPlugins.getEJBMetadata((RPCContainer)getContainer()).getBeanClass();
ejbCreate = beanClass.getMethod("ejbCreate", null);
}
@@ -94,7 +95,7 @@
SessionBean instance = (SessionBean) beanClass.newInstance();
// initialize the instance
- instance.setSessionContext(new GeronimoSessionContext(getContainer()));
+ instance.setSessionContext(new GeronimoSessionContext((RPCContainer)getContainer()));
try {
ejbCreate.invoke(instance, null);
} catch (IllegalAccessException e) {
1.4 +3 -3 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/StatelessInstanceInterceptor.java
Index: StatelessInstanceInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/cache/StatelessInstanceInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatelessInstanceInterceptor.java 11 Aug 2003 17:59:11 -0000 1.3
+++ StatelessInstanceInterceptor.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -59,7 +59,7 @@
import org.apache.geronimo.cache.InstancePool;
import org.apache.geronimo.common.AbstractInterceptor;
-import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
import org.apache.geronimo.common.InvocationType;
@@ -79,7 +79,7 @@
public void start() throws Exception {
super.start();
- Container container = getContainer();
+ RPCContainer container = (RPCContainer)getContainer();
pool = EJBPlugins.getInstancePool(container);
}
1.6 +5 -157 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/container/ContainerImpl.java
Index: ContainerImpl.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/container/ContainerImpl.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ContainerImpl.java 14 Aug 2003 07:14:34 -0000 1.5
+++ ContainerImpl.java 15 Aug 2003 14:12:19 -0000 1.6
@@ -55,19 +55,7 @@
*/
package org.apache.geronimo.ejb.container;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.ListIterator;
-import java.util.Map;
-import javax.management.ObjectName;
-
-import org.apache.geronimo.common.AbstractContainer;
-import org.apache.geronimo.common.Component;
-import org.apache.geronimo.common.Interceptor;
-import org.apache.geronimo.common.Invocation;
-import org.apache.geronimo.common.InvocationResult;
-import org.apache.geronimo.common.State;
+import org.apache.geronimo.common.AbstractRPCContainer;
/**
*
@@ -78,120 +66,10 @@
* to an abstractContainer class
* @version $Revision$ $Date$
*/
-public class ContainerImpl extends AbstractContainer
+public class ContainerImpl extends AbstractRPCContainer
{
- private final Map plugins= new LinkedHashMap();
- private final Map pluginObjects= new LinkedHashMap();
- private final LinkedList interceptors= new LinkedList();
- // for efficency keep a reference to the first interceptor
- private Interceptor firstInterceptor;
-
- public InvocationResult invoke(Invocation invocation) throws Exception
- {
- return firstInterceptor.invoke(invocation);
- }
-
- public void addInterceptor(Interceptor interceptor)
- {
- if (firstInterceptor == null)
- {
- firstInterceptor= interceptor;
- interceptors.addLast(interceptor);
- }
- else
- {
- Interceptor lastInterceptor= (Interceptor)interceptors.getLast();
- lastInterceptor.setNext(interceptor);
- interceptors.addLast(interceptor);
- }
- }
-
- public void startRecursive() throws Exception
- {
- try
- {
- // start this component
- setState(State.STARTING);
-
- // Start all the components in forward insertion order
- for (Iterator iterator= pluginObjects.values().iterator(); iterator.hasNext();)
- {
- Object object= iterator.next();
- if (object instanceof Component)
- {
- Component component= (Component)object;
- component.startRecursive();
- }
- }
-
- // Start this component
- doStart();
-
- setState(State.RUNNING);
- }
- finally
- {
- if (getStateInstance() != State.RUNNING)
- setState(State.FAILED);
- }
- }
-
- public void doStart() throws Exception
- {
- // Start all the plugins in forward insertion order
- for (Iterator iterator= interceptors.iterator(); iterator.hasNext();)
- {
- Interceptor interceptor= (Interceptor)iterator.next();
- interceptor.start();
- }
- }
-
- public void stop()
- {
- try
- {
- setState(State.STOPPING);
-
- // @todo this is actually a stopRecursive, which is not supported
- // by JSR77
- // Stop all the plugins in reverse insertion order
- LinkedList list= new LinkedList();
- for (Iterator iterator= pluginObjects.values().iterator(); iterator.hasNext();)
- {
- Object object= iterator.next();
- if (object instanceof Component)
- {
- list.addFirst(object);
- }
- }
- for (Iterator iterator= list.iterator(); iterator.hasNext();)
- {
- Component component= (Component)iterator.next();
- component.stop();
- }
-
- // Stop this component
- doStop();
-
- setState(State.STOPPED);
- }
- finally
- {
- if (getStateInstance() != State.STOPPED)
- setState(State.FAILED);
- }
- }
-
- public void doStop()
- {
- // Stop all the interceptors in reverse insertion order
- for (ListIterator iterator= interceptors.listIterator(interceptors.size()); iterator.hasPrevious();)
- {
- Interceptor interceptor= (Interceptor)iterator.previous();
- interceptor.stop();
- }
- }
-
+
+
// @todo destroy not supported in JSR77 lifecycle, needs to be
// integrated or removed.
public void destroy()
@@ -200,35 +78,5 @@
pluginObjects.clear();
}
- public ObjectName getPlugin(String logicalPluginName)
- {
- return (ObjectName)plugins.get(logicalPluginName);
- }
-
- public void putPlugin(String logicalPluginName, ObjectName objectName)
- {
- State state= getStateInstance();
- if (state != State.STOPPED)
- {
- throw new IllegalStateException(
- "putPluginObject can only be called while in the stopped state: state=" + state);
- }
- plugins.put(logicalPluginName, objectName);
- }
- public Object getPluginObject(String logicalPluginName)
- {
- return pluginObjects.get(logicalPluginName);
- }
-
- public void putPluginObject(String logicalPluginName, Object plugin)
- {
- State state= getStateInstance();
- if (state != State.STOPPED)
- {
- throw new IllegalStateException(
- "putPluginObject can only be called while in the not-created or destroyed states: state=" + state);
- }
- pluginObjects.put(logicalPluginName, plugin);
- }
}
1.4 +18 -18 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/container/EJBPlugins.java
Index: EJBPlugins.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/container/EJBPlugins.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EJBPlugins.java 11 Aug 2003 17:59:11 -0000 1.3
+++ EJBPlugins.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -60,7 +60,7 @@
import org.apache.geronimo.cache.InstanceCache;
import org.apache.geronimo.cache.InstanceFactory;
import org.apache.geronimo.cache.InstancePool;
-import org.apache.geronimo.common.Container;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.EJBProxyFactoryManager;
import org.apache.geronimo.ejb.metadata.EJBMetadata;
import org.apache.geronimo.lock.LockDomain;
@@ -85,67 +85,67 @@
public static String PERSISTENCE_MANAGER = "Persustence Manager";
public static String LOCK_DOMAIN = "Lock Domain";
- public static EJBProxyFactoryManager getEJBProxyFactoryManager(Container container) {
+ public static EJBProxyFactoryManager getEJBProxyFactoryManager(RPCContainer container) {
return (EJBProxyFactoryManager) container.getPluginObject(EJB_PROXY_FACTORY_MANAGER);
}
- public static void putEJBProxyFactoryManager(Container container, EJBProxyFactoryManager ejbProxyFactoryManager) {
+ public static void putEJBProxyFactoryManager(RPCContainer container, EJBProxyFactoryManager ejbProxyFactoryManager) {
container.putPluginObject(EJB_PROXY_FACTORY_MANAGER, ejbProxyFactoryManager);
}
- public static EJBMetadata getEJBMetadata(Container container) {
+ public static EJBMetadata getEJBMetadata(RPCContainer container) {
return (EJBMetadata) container.getPluginObject(EJB_METADATA);
}
- public static void putEJBMetadata(Container container, EJBMetadata ejbMetadata) {
+ public static void putEJBMetadata(RPCContainer container, EJBMetadata ejbMetadata) {
container.putPluginObject(EJB_METADATA, ejbMetadata);
}
- public static TransactionManager getTransactionManager(Container container) {
+ public static TransactionManager getTransactionManager(RPCContainer container) {
return (TransactionManager) container.getPluginObject(TRANSACTION_MANAGER);
}
- public static void putTransactionManager(Container container, TransactionManager transactionManager) {
+ public static void putTransactionManager(RPCContainer container, TransactionManager transactionManager) {
container.putPluginObject(TRANSACTION_MANAGER, transactionManager);
}
- public static InstanceFactory getInstanceFactory(Container container) {
+ public static InstanceFactory getInstanceFactory(RPCContainer container) {
return (InstanceFactory) container.getPluginObject(EJB_CONTEXT_INSTANCE_FACTORY);
}
- public static void putInstanceFactory(Container container, InstanceFactory instanceFactory) {
+ public static void putInstanceFactory(RPCContainer container, InstanceFactory instanceFactory) {
container.putPluginObject(EJB_CONTEXT_INSTANCE_FACTORY, instanceFactory);
}
- public static InstancePool getInstancePool(Container container) {
+ public static InstancePool getInstancePool(RPCContainer container) {
return (InstancePool) container.getPluginObject(EJB_CONTEXT_INSTANCE_POOL);
}
- public static void putInstancePool(Container container, InstancePool instancePool) {
+ public static void putInstancePool(RPCContainer container, InstancePool instancePool) {
container.putPluginObject(EJB_CONTEXT_INSTANCE_POOL, instancePool);
}
- public static InstanceCache getInstanceCache(Container container) {
+ public static InstanceCache getInstanceCache(RPCContainer container) {
return (InstanceCache) container.getPluginObject(EJB_CONTEXT_INSTANCE_CACHE);
}
- public static void putInstanceCache(Container container, InstanceCache instanceCache) {
+ public static void putInstanceCache(RPCContainer container, InstanceCache instanceCache) {
container.putPluginObject(EJB_CONTEXT_INSTANCE_CACHE, instanceCache);
}
- public static PersistenceManager getPersistenceManager(Container container) {
+ public static PersistenceManager getPersistenceManager(RPCContainer container) {
return (PersistenceManager) container.getPluginObject(EJB_CONTEXT_INSTANCE_CACHE);
}
- public static void putPersistenceManager(Container container, PersistenceManager persistenceManager) {
+ public static void putPersistenceManager(RPCContainer container, PersistenceManager persistenceManager) {
container.putPluginObject(EJB_CONTEXT_INSTANCE_CACHE, persistenceManager);
}
- public static LockDomain getLockDomain(Container container) {
+ public static LockDomain getLockDomain(RPCContainer container) {
return (LockDomain) container.getPluginObject(LOCK_DOMAIN);
}
- public static void putLockDomain(Container container, LockDomain lockDomain) {
+ public static void putLockDomain(RPCContainer container, LockDomain lockDomain) {
container.putPluginObject(LOCK_DOMAIN, lockDomain);
}
}
1.4 +3 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context/CMTInterceptor.java
Index: CMTInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context/CMTInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CMTInterceptor.java 11 Aug 2003 17:59:12 -0000 1.3
+++ CMTInterceptor.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -68,6 +68,7 @@
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
import org.apache.geronimo.common.InvocationType;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.EJBInvocationUtil;
import org.apache.geronimo.ejb.container.EJBPlugins;
import org.apache.geronimo.ejb.metadata.EJBMetadata;
@@ -86,7 +87,7 @@
public void start() throws Exception {
super.start();
- ejbMetadata = EJBPlugins.getEJBMetadata(getContainer());
+ ejbMetadata = EJBPlugins.getEJBMetadata((RPCContainer)getContainer());
}
public void stop() {
1.3 +3 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context/ExecutionContextInterceptor.java
Index: ExecutionContextInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context/ExecutionContextInterceptor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ExecutionContextInterceptor.java 11 Aug 2003 17:59:12 -0000 1.2
+++ ExecutionContextInterceptor.java 15 Aug 2003 14:12:19 -0000 1.3
@@ -62,6 +62,7 @@
import org.apache.geronimo.common.AbstractInterceptor;
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.container.EJBPlugins;
/**
@@ -75,7 +76,7 @@
public void start() throws Exception {
super.start();
- tm = EJBPlugins.getTransactionManager(getContainer());
+ tm = EJBPlugins.getTransactionManager((RPCContainer)getContainer());
}
public void stop() {
1.4 +3 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context/StatelessBMTInterceptor.java
Index: StatelessBMTInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context/StatelessBMTInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatelessBMTInterceptor.java 11 Aug 2003 17:59:12 -0000 1.3
+++ StatelessBMTInterceptor.java 15 Aug 2003 14:12:19 -0000 1.4
@@ -64,6 +64,7 @@
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
import org.apache.geronimo.common.InvocationType;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.ejb.container.EJBPlugins;
/**
@@ -77,7 +78,7 @@
public void start() throws Exception {
super.start();
- ejbName = EJBPlugins.getEJBMetadata(getContainer()).getName();
+ ejbName = EJBPlugins.getEJBMetadata((RPCContainer)getContainer()).getName();
}
public InvocationResult invoke(Invocation invocation) throws Exception {
1.6 +17 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context/TransactionInterceptor.java
Index: TransactionInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/ejb/context/TransactionInterceptor.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TransactionInterceptor.java 14 Aug 2003 07:14:34 -0000 1.5
+++ TransactionInterceptor.java 15 Aug 2003 14:12:19 -0000 1.6
@@ -59,6 +59,7 @@
import org.apache.geronimo.common.Interceptor;
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
+import org.apache.geronimo.common.RPCContainer;
import org.apache.geronimo.common.State;
import org.apache.geronimo.ejb.container.EJBPlugins;
import org.apache.geronimo.ejb.metadata.EJBMetadata;
@@ -103,7 +104,7 @@
}
public void start() throws Exception {
- EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata(container);
+ EJBMetadata ejbMetadata = EJBPlugins.getEJBMetadata((RPCContainer)container);
if (ejbMetadata.getTransactionDemarcation().isContainer()) {
transactionInterceptor = new CMTInterceptor();
} else {
@@ -130,5 +131,19 @@
public InvocationResult invoke(Invocation invocation) throws Exception {
return transactionInterceptor.invoke(invocation);
+ }
+
+
+ /**
+ * For compliance with Component interface.
+ * NOTE: This Interceptor should probably implement
+ * AbstractComponent!
+ *
+ * @todo need to return a decent name if Interceptors are Components
+ * @return a <code>String</code> value
+ */
+ public String getObjectName ()
+ {
+ return null;
}
}