dain 2004/04/03 20:49:09
Modified: modules/core/src/java/org/openejb
AbstractContainerBuilder.java
AbstractInterceptorBuilder.java
EJBInstanceFactoryImpl.java
Added: modules/core/src/java/org/openejb ContainerBuilder.java
Log:
Added deployment support for Stateful and BMP beans
Fixed more serialization problems
Added ContainerBuilder interface
Revision Changes Path
1.3 +11 -3
openejb/modules/core/src/java/org/openejb/AbstractContainerBuilder.java
Index: AbstractContainerBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/AbstractContainerBuilder.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractContainerBuilder.java 1 Apr 2004 22:36:51 -0000 1.2
+++ AbstractContainerBuilder.java 4 Apr 2004 01:49:09 -0000 1.3
@@ -74,7 +74,7 @@
*
* @version $Revision$ $Date$
*/
-public abstract class AbstractContainerBuilder {
+public abstract class AbstractContainerBuilder implements ContainerBuilder {
private ClassLoader classLoader;
private Object containerId;
private String ejbName;
@@ -226,7 +226,15 @@
protected abstract int getEJBComponentType();
- public abstract EJBContainer createContainer() throws Exception;
+ public EJBContainer createContainer() throws Exception {
+ return (EJBContainer) buildIt(true);
+ }
+
+ public GBeanMBean createConfiguration() throws Exception {
+ return (GBeanMBean) buildIt(false);
+ }
+
+ protected abstract Object buildIt(boolean buildContainer) throws Exception;
protected InterceptorBuilder initializeInterceptorBuilder(InterceptorBuilder
interceptorBuilder, InterfaceMethodSignature[] signatures, VirtualOperation[] vtable) {
interceptorBuilder.setContainerId(containerId);
1.2 +2 -2
openejb/modules/core/src/java/org/openejb/AbstractInterceptorBuilder.java
Index: AbstractInterceptorBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/AbstractInterceptorBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractInterceptorBuilder.java 21 Mar 2004 21:26:34 -0000 1.1
+++ AbstractInterceptorBuilder.java 4 Apr 2004 01:49:09 -0000 1.2
@@ -80,7 +80,7 @@
protected transient TransactionManager transactionManager;
protected transient TrackedConnectionAssociator trackedConnectionAssociator;
protected transient InstancePool instancePool;
- protected transient InstanceCache instanceCache;
+ protected InstanceCache instanceCache;
protected InstanceFactory instanceFactory;
1.3 +2 -3
openejb/modules/core/src/java/org/openejb/EJBInstanceFactoryImpl.java
Index: EJBInstanceFactoryImpl.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBInstanceFactoryImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- EJBInstanceFactoryImpl.java 3 Apr 2004 22:20:10 -0000 1.2
+++ EJBInstanceFactoryImpl.java 4 Apr 2004 01:49:09 -0000 1.3
@@ -47,12 +47,11 @@
*/
package org.openejb;
-import java.lang.reflect.InvocationTargetException;
import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
import javax.ejb.EnterpriseBean;
import net.sf.cglib.reflect.FastClass;
-import org.openejb.transaction.ContainerPolicy;
/**
*
1.1 openejb/modules/core/src/java/org/openejb/ContainerBuilder.java
Index: ContainerBuilder.java
===================================================================
/**
*
* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.openejb;
import java.util.Set;
import javax.security.auth.Subject;
import javax.transaction.TransactionManager;
import org.apache.geronimo.naming.java.ReadOnlyContext;
import
org.apache.geronimo.connector.outbound.connectiontracking.TrackedConnectionAssociator;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.openejb.transaction.EJBUserTransaction;
import org.openejb.deployment.TransactionPolicySource;
/**
*
*
* @version $Revision: 1.1 $ $Date: 2004/04/04 01:49:09 $
*/
public interface ContainerBuilder {
ClassLoader getClassLoader();
void setClassLoader(ClassLoader classLoader);
Object getContainerId();
void setContainerId(Object containerId);
String getEJBName();
void setEJBName(String ejbName);
String getBeanClassName();
void setBeanClassName(String beanClassName);
String getHomeInterfaceName();
void setHomeInterfaceName(String homeInterfaceName);
String getRemoteInterfaceName();
void setRemoteInterfaceName(String remoteInterfaceName);
String getLocalHomeInterfaceName();
void setLocalHomeInterfaceName(String localHomeInterfaceName);
String getLocalInterfaceName();
void setLocalInterfaceName(String localInterfaceName);
String getPrimaryKeyClassName();
void setPrimaryKeyClassName(String primaryKeyClassName);
Subject getRunAs();
void setRunAs(Subject runAs);
ReadOnlyContext getComponentContext();
void setComponentContext(ReadOnlyContext componentContext);
Set getUnshareableResources();
void setUnshareableResources(Set unshareableResources);
EJBUserTransaction getUserTransaction();
void setUserTransaction(EJBUserTransaction userTransaction);
TransactionPolicySource getTransactionPolicySource();
void setTransactionPolicySource(TransactionPolicySource transactionPolicySource);
TransactionManager getTransactionManager();
void setTransactionManager(TransactionManager transactionManager);
TrackedConnectionAssociator getTrackedConnectionAssociator();
void setTrackedConnectionAssociator(TrackedConnectionAssociator
trackedConnectionAssociator);
EJBContainer createContainer() throws Exception;
GBeanMBean createConfiguration() throws Exception;
}