dain 2004/04/03 20:49:10
Modified: modules/core/src/java/org/openejb/entity/bmp
BMPContainerBuilder.java
BMPInstanceContextFactory.java
Log:
Added deployment support for Stateful and BMP beans
Fixed more serialization problems
Added ContainerBuilder interface
Revision Changes Path
1.2 +10 -19
openejb/modules/core/src/java/org/openejb/entity/bmp/BMPContainerBuilder.java
Index: BMPContainerBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/bmp/BMPContainerBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BMPContainerBuilder.java 21 Mar 2004 21:26:35 -0000 1.1
+++ BMPContainerBuilder.java 4 Apr 2004 01:49:10 -0000 1.2
@@ -54,15 +54,13 @@
import org.openejb.AbstractContainerBuilder;
import org.openejb.EJBComponentType;
-import org.openejb.EJBContainer;
-import org.openejb.GenericEJBContainer;
import org.openejb.InstanceContextFactory;
import org.openejb.InterceptorBuilder;
import org.openejb.cache.InstancePool;
+import org.openejb.dispatch.InterfaceMethodSignature;
+import org.openejb.dispatch.MethodHelper;
import org.openejb.dispatch.MethodSignature;
import org.openejb.dispatch.VirtualOperation;
-import org.openejb.dispatch.MethodHelper;
-import org.openejb.dispatch.InterfaceMethodSignature;
import org.openejb.entity.BusinessMethod;
import org.openejb.entity.EntityInstanceFactory;
import org.openejb.entity.EntityInterceptorBuilder;
@@ -79,10 +77,9 @@
return EJBComponentType.BMP_ENTITY;
}
- public EJBContainer createContainer() throws Exception {
+ protected Object buildIt(boolean buildContainer) throws Exception {
// get the bean class
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- Class beanClass = classLoader.loadClass(getBeanClassName());
+ Class beanClass = getClassLoader().loadClass(getBeanClassName());
// build the vop table
LinkedHashMap vopMap = buildVopMap(beanClass);
@@ -101,17 +98,11 @@
// build the pool
InstancePool pool = createInstancePool(instanceFactory);
- // construct the container
- return new GenericEJBContainer(
- getContainerId(),
- getEJBName(),
- proxyFactory,
- signatures,
- interceptorBuilder,
- pool,
- getUserTransaction(),
- getTransactionManager(),
- getTrackedConnectionAssociator());
+ if (buildContainer) {
+ return createContainer(proxyFactory, signatures, interceptorBuilder,
pool);
+ } else {
+ return createConfiguration(proxyFactory, signatures,
interceptorBuilder, pool);
+ }
}
protected LinkedHashMap buildVopMap(final Class beanClass) {
1.3 +3 -2
openejb/modules/core/src/java/org/openejb/entity/bmp/BMPInstanceContextFactory.java
Index: BMPInstanceContextFactory.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/bmp/BMPInstanceContextFactory.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BMPInstanceContextFactory.java 21 Mar 2004 21:26:35 -0000 1.2
+++ BMPInstanceContextFactory.java 4 Apr 2004 01:49:10 -0000 1.3
@@ -47,6 +47,7 @@
*/
package org.openejb.entity.bmp;
+import java.io.Serializable;
import javax.ejb.EntityBean;
import org.apache.geronimo.transaction.InstanceContext;
@@ -61,7 +62,7 @@
*
* @version $Revision$ $Date$
*/
-public class BMPInstanceContextFactory implements InstanceContextFactory {
+public class BMPInstanceContextFactory implements InstanceContextFactory,
Serializable {
private final Object containerId;
private final EJBProxyFactory proxyFactory;
private final EJBInstanceFactory factory;