djencks 2004/07/18 18:32:23
Modified: modules/core/src/java/org/openejb/entity/cmp
CMPContainerBuilder.java CMPCreateMethod.java
CMPInstanceContext.java
CMPInstanceContextFactory.java
Log:
Add timer support to session and mdbs. (entities still todo). Adapt to
TransactionContextManager. Adapt to deploying with external plan.
Revision Changes Path
1.20 +5 -2
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPContainerBuilder.java
Index: CMPContainerBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPContainerBuilder.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- CMPContainerBuilder.java 7 Jul 2004 22:17:33 -0000 1.19
+++ CMPContainerBuilder.java 18 Jul 2004 22:32:22 -0000 1.20
@@ -54,6 +54,8 @@
import java.util.List;
import java.util.Map;
+import javax.management.ObjectName;
+
import org.apache.geronimo.deployment.DeploymentException;
import org.apache.geronimo.kernel.ClassLoading;
import org.openejb.AbstractContainerBuilder;
@@ -254,11 +256,12 @@
// build the pool
InstancePool pool = createInstancePool(instanceFactory);
+ ObjectName timerName = getTimerName(beanClass);
if (buildContainer) {
return createContainer(signatures, contextFactory, interceptorBuilder,
pool);
} else {
- return createConfiguration(classLoader, signatures, contextFactory,
interceptorBuilder, pool);
+ return createConfiguration(classLoader, signatures, contextFactory,
interceptorBuilder, pool, timerName);
}
}
1.6 +2 -2
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPCreateMethod.java
Index: CMPCreateMethod.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPCreateMethod.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- CMPCreateMethod.java 21 Apr 2004 23:45:59 -0000 1.5
+++ CMPCreateMethod.java 18 Jul 2004 22:32:22 -0000 1.6
@@ -54,7 +54,7 @@
import org.apache.geronimo.core.service.InvocationResult;
import org.apache.geronimo.core.service.SimpleInvocationResult;
-import org.apache.geronimo.transaction.TransactionContext;
+import org.apache.geronimo.transaction.context.TransactionContext;
import org.openejb.EJBInvocation;
import org.openejb.EJBOperation;
import org.openejb.dispatch.MethodSignature;
1.11 +6 -5
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPInstanceContext.java
Index: CMPInstanceContext.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPInstanceContext.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- CMPInstanceContext.java 7 Jul 2004 22:17:33 -0000 1.10
+++ CMPInstanceContext.java 18 Jul 2004 22:32:22 -0000 1.11
@@ -54,11 +54,12 @@
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
-import org.apache.geronimo.transaction.TransactionContext;
import org.apache.geronimo.core.service.Interceptor;
+import org.apache.geronimo.transaction.context.TransactionContext;
+import org.openejb.dispatch.SystemMethodIndices;
import org.openejb.entity.EntityInstanceContext;
import org.openejb.proxy.EJBProxyFactory;
-import org.openejb.dispatch.SystemMethodIndices;
+import org.openejb.timer.TimerServiceImpl;
import org.tranql.cache.CacheRow;
import org.tranql.cache.CacheRowState;
import org.tranql.cache.FaultHandler;
@@ -78,8 +79,8 @@
private CacheRow cacheRow;
private TransactionContext transactionContext;
- public CMPInstanceContext(Object containerId, EJBProxyFactory proxyFactory,
InstanceOperation[] itable, FaultHandler loadFault, IdentityTransform
primaryKeyTransform, CMPInstanceContextFactory contextFactory, Interceptor
lifecycleInterceptorChain, SystemMethodIndices systemMethodIndices, Set
unshareableResources, Set applicationManagedSecurityResources) throws Exception {
- super(containerId, proxyFactory, null, lifecycleInterceptorChain,
systemMethodIndices, unshareableResources, applicationManagedSecurityResources);
+ public CMPInstanceContext(Object containerId, EJBProxyFactory proxyFactory,
InstanceOperation[] itable, FaultHandler loadFault, IdentityTransform
primaryKeyTransform, CMPInstanceContextFactory contextFactory, Interceptor
lifecycleInterceptorChain, SystemMethodIndices systemMethodIndices, Set
unshareableResources, Set applicationManagedSecurityResources, TimerServiceImpl
timerService) throws Exception {
+ super(containerId, proxyFactory, null, lifecycleInterceptorChain,
systemMethodIndices, unshareableResources, applicationManagedSecurityResources,
timerService);
this.itable = itable;
this.loadFault = loadFault;
this.primaryKeyTransform = primaryKeyTransform;
1.11 +11 -6
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPInstanceContextFactory.java
Index: CMPInstanceContextFactory.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPInstanceContextFactory.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- CMPInstanceContextFactory.java 7 Jul 2004 22:17:33 -0000 1.10
+++ CMPInstanceContextFactory.java 18 Jul 2004 22:32:23 -0000 1.11
@@ -69,6 +69,7 @@
import net.sf.cglib.proxy.NoOp;
import net.sf.cglib.reflect.FastClass;
import org.openejb.InstanceContextFactory;
+import org.openejb.timer.TimerServiceImpl;
import org.openejb.dispatch.MethodHelper;
import org.openejb.dispatch.MethodSignature;
import org.openejb.dispatch.InterfaceMethodSignature;
@@ -95,8 +96,7 @@
private transient EJBProxyFactory proxyFactory;
private transient Interceptor systemChain;
private transient SystemMethodIndices systemMethodIndices;
-// private transient int loadIndex = -1;
-// private transient int storeIndex = -1;
+ private transient TimerServiceImpl timerService;
public CMPInstanceContextFactory(Object containerId, IdentityTransform
primaryKeyTransform, FaultHandler loadFault, Class beanClass, Map imap, Set
unshareableResources, Set applicationManagedSecurityResources) throws
ClassNotFoundException {
this.containerId = containerId;
@@ -134,15 +134,20 @@
this.systemChain = systemChain;
}
- public void setSignatures(InterfaceMethodSignature[] signatures) {
- systemMethodIndices =
SystemMethodIndices.createSystemMethodIndices(signatures, "setEntityContext",
EntityContext.class.getName(), "unsetEntityContext");
+ public SystemMethodIndices setSignatures(InterfaceMethodSignature[] signatures)
{
+ systemMethodIndices =
SystemMethodIndices.createSystemMethodIndices(signatures, "setEntityContext",
EntityContext.class.getName(), "unsetEntityContext");
+ return systemMethodIndices;
+ }
+
+ public void setTimerService(TimerServiceImpl timerService) {
+ this.timerService = timerService;
}
public synchronized InstanceContext newInstance() throws Exception {
if (proxyFactory == null) {
throw new IllegalStateException("ProxyFactory has not been set");
}
- return new CMPInstanceContext(containerId, proxyFactory, itable, loadFault,
primaryKeyTransform, this, systemChain, systemMethodIndices, unshareableResources,
applicationManagedSecurityResources);
+ return new CMPInstanceContext(containerId, proxyFactory, itable, loadFault,
primaryKeyTransform, this, systemChain, systemMethodIndices, unshareableResources,
applicationManagedSecurityResources, timerService);
}
public synchronized EntityBean createCMPBeanInstance(CMPInstanceContext
instanceContext) {