djencks 2004/06/25 17:35:13
Modified: modules/core/src/test/org/openejb/deployment
EJBConfigBuilderTest.java
Log:
Implement message driven bean deployment and some of message-destination refs.
Update to howl 0.1.3
Revision Changes Path
1.15 +55 -42
openejb/modules/core/src/test/org/openejb/deployment/EJBConfigBuilderTest.java
Index: EJBConfigBuilderTest.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/test/org/openejb/deployment/EJBConfigBuilderTest.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- EJBConfigBuilderTest.java 15 Jun 2004 21:37:38 -0000 1.14
+++ EJBConfigBuilderTest.java 25 Jun 2004 21:35:12 -0000 1.15
@@ -91,6 +91,7 @@
import org.apache.geronimo.xbeans.j2ee.SessionBeanType;
import org.apache.xmlbeans.XmlObject;
import org.openejb.ContainerIndex;
+import org.openejb.mdb.mockra.DeploymentHelper;
import org.openejb.xbeans.ejbjar.OpenejbSessionBeanType;
import org.tranql.sql.jdbc.JDBCUtil;
@@ -103,9 +104,10 @@
private static final String j2eeServerName = "TestOpenEJBServer";
private static final ObjectName transactionManagerObjectName =
JMXUtil.getObjectName(j2eeDomainName + ":type=TransactionManager");
private static final ObjectName connectionTrackerObjectName =
JMXUtil.getObjectName(j2eeDomainName + ":type=ConnectionTracker");
+ private Kernel kernel;
public void testCreateSessionBean() throws Exception {
- OpenEJBModuleBuilder configBuilder = new OpenEJBModuleBuilder();
+ OpenEJBModuleBuilder configBuilder = new OpenEJBModuleBuilder(kernel);
File ejbJarFile = new File("target/test-ejb-jar.jar");
assertTrue(ejbJarFile.canRead());
@@ -148,7 +150,7 @@
String j2eeApplicationName = "null";
String j2eeModuleName = "org/openejb/deployment/test";
- ModuleBuilder moduleBuilder = new OpenEJBModuleBuilder();
+ ModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(kernel);
File ejbJarFile = new File("target/test-ejb-jar.jar");
ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
@@ -193,7 +195,7 @@
String j2eeApplicationName = "null";
String j2eeModuleName = "org/openejb/deployment/test";
- ModuleBuilder moduleBuilder = new OpenEJBModuleBuilder();
+ ModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(kernel);
File earFile = new File("target/test-ejb-jar.jar");
ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
@@ -229,7 +231,7 @@
String j2eeApplicationName = "org/apache/geronimo/j2ee/deployment/test";
String j2eeModuleName = "test-ejb-jar.jar";
- ModuleBuilder moduleBuilder = new OpenEJBModuleBuilder();
+ ModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(kernel);
File earFile = new File("target/test-ear.ear");
ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
@@ -263,42 +265,9 @@
private void verifyDeployment(File unpackedDir, ClassLoader cl, String
j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String
j2eeModuleName) throws Exception {
DataSource ds = null;
- Kernel kernel = null;
try {
GBeanMBean config = loadConfig(unpackedDir);
- kernel = new Kernel("blah");
- kernel.boot();
-
- GBeanMBean serverInfoGBean = new GBeanMBean(ServerInfo.GBEAN_INFO);
- serverInfoGBean.setAttribute("BaseDirectory", ".");
- ObjectName serverInfoObjectName = ObjectName.getInstance(j2eeDomainName
+ ":type=ServerInfo");
- kernel.loadGBean(serverInfoObjectName, serverInfoGBean);
- kernel.startGBean(serverInfoObjectName);
- assertRunning(kernel, serverInfoObjectName);
-
- GBeanMBean j2eeServerGBean = new GBeanMBean(J2EEServerImpl.GBEAN_INFO);
- j2eeServerGBean.setReferencePatterns("ServerInfo",
Collections.singleton(serverInfoObjectName));
- ObjectName j2eeServerObjectName = ObjectName.getInstance(j2eeDomainName
+ ":j2eeType=J2EEServer,name=" + j2eeServerName);
- kernel.loadGBean(j2eeServerObjectName, j2eeServerGBean);
- kernel.startGBean(j2eeServerObjectName);
- assertRunning(kernel, j2eeServerObjectName);
-
- GBeanMBean tmGBean = new
GBeanMBean(GeronimoTransactionManager.GBEAN_INFO);
- Set patterns = new HashSet();
-
patterns.add(ObjectName.getInstance("geronimo.server:j2eeType=JCAManagedConnectionFactory,*"));
- tmGBean.setReferencePatterns("resourceManagers", patterns);
- ObjectName tmObjectName = ObjectName.getInstance(j2eeDomainName +
":type=TransactionManager");
- kernel.loadGBean(tmObjectName, tmGBean);
- kernel.startGBean(tmObjectName);
- assertRunning(kernel, tmObjectName);
-
- GBeanMBean connectionTrackerGBean = new
GBeanMBean(ConnectionTrackingCoordinator.GBEAN_INFO);
- ObjectName connectionTrackerObjectName =
ObjectName.getInstance(j2eeDomainName + ":type=ConnectionTracker");
- kernel.loadGBean(connectionTrackerObjectName, connectionTrackerGBean);
- kernel.startGBean(connectionTrackerObjectName);
- assertRunning(kernel, connectionTrackerObjectName);
-
GBeanMBean containerIndexGBean = new
GBeanMBean(ContainerIndex.GBEAN_INFO);
ObjectName containerIndexObjectName =
ObjectName.getInstance(j2eeDomainName + ":type=ContainerIndex");
Set ejbContainerNames = new HashSet();
@@ -390,9 +359,14 @@
cmp.getClass().getMethod("setFirstName", new
Class[]{String.class}).invoke(cmp, new Object[]{"MyFistName"});
assertEquals("MyFistName", cmp.getClass().getMethod("getFirstName",
null).invoke(cmp, null));
+ //mdb
+ ObjectName mdbBeanName = ObjectName.getInstance(j2eeDomainName +
":j2eeType=MessageDrivenBean,J2EEServer=" + j2eeServerName + ",J2EEApplication=" +
j2eeApplicationName + ",J2EEModule=" + j2eeModuleName + ",name=SimpleMessageDriven");
+ assertRunning(kernel, mdbBeanName);
+
+
+
kernel.stopGBean(objectName);
kernel.stopGBean(connectionProxyFactoryObjectName);
- kernel.stopGBean(tmObjectName);
} finally {
if (ds != null) {
Connection connection = null;
@@ -407,9 +381,6 @@
}
}
- if (kernel != null) {
- kernel.shutdown();
- }
Thread.currentThread().setContextClassLoader(cl);
}
}
@@ -441,5 +412,47 @@
str = str + ":org.apache.geronimo.naming";
}
System.setProperty(javax.naming.Context.URL_PKG_PREFIXES, str);
+ kernel = new Kernel("blah");
+ kernel.boot();
+
+ GBeanMBean serverInfoGBean = new GBeanMBean(ServerInfo.GBEAN_INFO);
+ serverInfoGBean.setAttribute("BaseDirectory", ".");
+ ObjectName serverInfoObjectName = ObjectName.getInstance(j2eeDomainName +
":type=ServerInfo");
+ kernel.loadGBean(serverInfoObjectName, serverInfoGBean);
+ kernel.startGBean(serverInfoObjectName);
+ assertRunning(kernel, serverInfoObjectName);
+
+ GBeanMBean j2eeServerGBean = new GBeanMBean(J2EEServerImpl.GBEAN_INFO);
+ j2eeServerGBean.setReferencePatterns("ServerInfo",
Collections.singleton(serverInfoObjectName));
+ ObjectName j2eeServerObjectName = ObjectName.getInstance(j2eeDomainName +
":j2eeType=J2EEServer,name=" + j2eeServerName);
+ kernel.loadGBean(j2eeServerObjectName, j2eeServerGBean);
+ kernel.startGBean(j2eeServerObjectName);
+ assertRunning(kernel, j2eeServerObjectName);
+
+ GBeanMBean tmGBean = new GBeanMBean(GeronimoTransactionManager.GBEAN_INFO);
+ Set patterns = new HashSet();
+
patterns.add(ObjectName.getInstance("geronimo.server:j2eeType=JCAManagedConnectionFactory,*"));
+
patterns.add(ObjectName.getInstance("geronimo.server:j2eeType=ActivationSpec,*"));
+ tmGBean.setReferencePatterns("resourceManagers", patterns);
+ kernel.loadGBean(transactionManagerObjectName, tmGBean);
+ kernel.startGBean(transactionManagerObjectName);
+ assertRunning(kernel, transactionManagerObjectName);
+
+ GBeanMBean connectionTrackerGBean = new
GBeanMBean(ConnectionTrackingCoordinator.GBEAN_INFO);
+ ObjectName connectionTrackerObjectName =
ObjectName.getInstance(j2eeDomainName + ":type=ConnectionTracker");
+ kernel.loadGBean(connectionTrackerObjectName, connectionTrackerGBean);
+ kernel.startGBean(connectionTrackerObjectName);
+ assertRunning(kernel, connectionTrackerObjectName);
+
+ //load mock resource adapter for mdb
+ DeploymentHelper.setUpResourceAdapter(kernel);
+
+ }
+
+ protected void tearDown() throws Exception {
+ DeploymentHelper.tearDownAdapter(kernel);
+ kernel.stopGBean(connectionTrackerObjectName);
+ kernel.stopGBean(transactionManagerObjectName);
+ kernel.shutdown();
}
}