[prev in list] [next in list] [prev in thread] [next in thread]
List: openejb-cvs
Subject: [openejb-scm] openejb/modules/core/src/java/org/openejb/entity/cmp CMPEJBContainer.java
From: gdamour () codehaus ! org
Date: 2005-12-21 14:21:53
Message-ID: 20051221142153.17268.qmail () codehaus ! org
[Download RAW message or body]
gdamour 2005/12/21 09:21:53
Modified: modules/core/src/java/org/openejb/entity/cmp
CMPEJBContainer.java
Log:
GERONIMO-1397 Clustering of SFSB
First step of many others to add the clustering of SFSB.
This check-in adds the following features:
* definition of an EJBClusterManager, which abstracts an EJB Cluster node;
* this EJB cluster node is a standard GBean (the default or
WADI implementation is DefaultEJBClusterManager);
* in an openejb-jar.xml DD, a SFSB can declare a reference to this node via
the ejb-cluster-reference element;
* when the SFSB container is started, the EJB cluster node notifies
the cluster that it is running a specific SFSB container;
* when a clustered SFSB InstanceContext is created, an array of nodes running
the container of this SFSB is associated to the InstanceContext. Note that
this array of nodes is updated upon start-up of a clustered SFSB container or
upon node failure;
* this array of nodes capable of running the created SFSB is propagated to
clients. Actually, this array is propagated at each EJB invocation.
Revision Changes Path
1.4 +42 -8 \
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPEJBContainer.java
Index: CMPEJBContainer.java
===================================================================
RCS file: /home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPEJBContainer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CMPEJBContainer.java 1 Dec 2005 08:34:51 -0000 1.3
+++ CMPEJBContainer.java 21 Dec 2005 14:21:53 -0000 1.4
@@ -68,7 +68,9 @@
import org.openejb.GenericEJBContainer;
import org.openejb.InstanceContextFactory;
import org.openejb.InterceptorBuilder;
+import org.openejb.cache.InstanceCache;
import org.openejb.cache.InstancePool;
+import org.openejb.cluster.server.EJBClusterManager;
import org.openejb.corba.TSSBean;
import org.openejb.dispatch.InterfaceMethodSignature;
import org.openejb.proxy.ProxyInfo;
@@ -89,12 +91,39 @@
private final FrontEndCacheDelegate delegate;
private final CacheFactory factory;
- public CMPEJBContainer(Object containerId, String ejbName, ProxyInfo \
proxyInfo, InterfaceMethodSignature[] signatures, InstanceContextFactory \
contextFactory, InterceptorBuilder interceptorBuilder, InstancePool pool, Map \
componentContext, UserTransactionImpl userTransaction, String[] jndiNames, String[] \
localJndiNames, TransactionContextManager transactionContextManager, \
TrackedConnectionAssociator trackedConnectionAssociator, ThreadPooledTimer timer, \
String objectName, Kernel kernel, DefaultPrincipal defaultPrincipal, Subject \
runAsSubject, TSSBean tssBean, Serializable homeTxPolicyConfig, Serializable \
remoteTxPolicyConfig, ClassLoader classLoader, FrontEndCacheDelegate delegate, \
CacheFactory factory) throws Exception {
- super(containerId, ejbName, proxyInfo, signatures, contextFactory,
- interceptorBuilder, pool, componentContext, userTransaction, \
jndiNames,
- localJndiNames, transactionContextManager, \
trackedConnectionAssociator,
- timer, objectName, kernel, defaultPrincipal, runAsSubject, \
tssBean,
- homeTxPolicyConfig, remoteTxPolicyConfig, classLoader);
+ public CMPEJBContainer(Object containerId,
+ String ejbName,
+ ProxyInfo proxyInfo,
+ InterfaceMethodSignature[] signatures,
+ InstanceCache instanceCache,
+ InstanceContextFactory contextFactory,
+ InterceptorBuilder interceptorBuilder,
+ InstancePool pool,
+ Map componentContext,
+ UserTransactionImpl userTransaction,
+ String[] jndiNames,
+ String[] localJndiNames,
+ TransactionContextManager transactionContextManager,
+ TrackedConnectionAssociator trackedConnectionAssociator,
+ ThreadPooledTimer timer,
+ String objectName,
+ Kernel kernel,
+ DefaultPrincipal defaultPrincipal,
+ Subject runAsSubject,
+ TSSBean tssBean,
+ Serializable homeTxPolicyConfig,
+ Serializable remoteTxPolicyConfig,
+ ClassLoader classLoader,
+ EJBClusterManager clusterManager,
+ FrontEndCacheDelegate delegate,
+ CacheFactory factory) throws Exception {
+ super(containerId, ejbName, proxyInfo, signatures, instanceCache,
+ contextFactory, interceptorBuilder, pool, componentContext,
+ userTransaction, jndiNames, localJndiNames,
+ transactionContextManager, trackedConnectionAssociator, timer,
+ objectName, kernel, defaultPrincipal, runAsSubject, tssBean,
+ homeTxPolicyConfig, remoteTxPolicyConfig, classLoader,
+ clusterManager);
this.transactionContextManager = transactionContextManager;
this.delegate = delegate;
this.factory = factory;
@@ -131,6 +160,7 @@
infoFactory.addAttribute("ejbName", String.class, true);
infoFactory.addAttribute("proxyInfo", ProxyInfo.class, true);
infoFactory.addAttribute("signatures", InterfaceMethodSignature[].class, \
true); + infoFactory.addAttribute("instanceCache", InstanceCache.class, \
true);
infoFactory.addAttribute("contextFactory", InstanceContextFactory.class, \
true);
infoFactory.addAttribute("interceptorBuilder", InterceptorBuilder.class, \
true); infoFactory.addAttribute("pool", InstancePool.class, true);
@@ -150,6 +180,8 @@
infoFactory.addReference("TSSBean", TSSBean.class);
+ infoFactory.addReference("EJBClusterManager", EJBClusterManager.class);
+
infoFactory.addAttribute("objectName", String.class, false);
infoFactory.addInterface(J2EEManagedObject.class);
infoFactory.addAttribute("kernel", Kernel.class, false);
@@ -179,6 +211,7 @@
"ejbName",
"proxyInfo",
"signatures",
+ "instanceCache",
"contextFactory",
"interceptorBuilder",
"pool",
@@ -197,6 +230,7 @@
"homeTxPolicyConfig",
"remoteTxPolicyConfig",
"classLoader",
+ "EJBClusterManager",
"frontEndCacheDelegate",
"cacheFactory"});
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic