Diff
Modified: trunk/openejb1/examples/moviefun/project.xml (2494 => 2495)
--- trunk/openejb1/examples/moviefun/project.xml 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/examples/moviefun/project.xml 2006-02-23 07:30:53 UTC (rev 2495)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- $Rev: 155800 $ $Date$ -->
+<!-- $Rev$ $Date$ -->
<project>
<pomVersion>3</pomVersion>
@@ -24,12 +24,25 @@
<!-- ============ -->
<dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <war.bundle>true</war.bundle>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <war.bundle>true</war.bundle>
+ </properties>
+ </dependency>
+
<dependency>
- <groupId>geronimo-spec</groupId>
- <artifactId>geronimo-spec-j2ee</artifactId>
- <version>1.4-rc4</version>
- </dependency>
- <dependency>
<groupId>openejb</groupId>
<artifactId>openejb-loader</artifactId>
<version>1.0-SNAPSHOT</version>
Modified: trunk/openejb1/examples/moviefun/src/webapp/WEB-INF/web.xml (2494 => 2495)
--- trunk/openejb1/examples/moviefun/src/webapp/WEB-INF/web.xml 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/examples/moviefun/src/webapp/WEB-INF/web.xml 2006-02-23 07:30:53 UTC (rev 2495)
@@ -20,4 +20,9 @@
<load-on-startup>0</load-on-startup>
</servlet>
+ <servlet-mapping>
+ <servlet-name>loader</servlet-name>
+ <url-pattern>/remote/*</url-pattern>
+ </servlet-mapping>
+
</web-app>
Modified: trunk/openejb1/maven.xml (2494 => 2495)
--- trunk/openejb1/maven.xml 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/maven.xml 2006-02-23 07:30:53 UTC (rev 2495)
@@ -612,10 +612,15 @@
<goal name="start:tomcat">
<exec executable="${tomcat.home}/bin/startup.sh">
- <env key="JAVA_OPTS" value="-Dopenejb.home=${openejb.home} -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/>
</exec>
</goal>
+ <goal name="start:tomcat-debug">
+ <exec executable="${tomcat.home}/bin/startup.sh">
+ <env key="JAVA_OPTS" value="-Dopenejb.home=${openejb.home} -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/>
+ </exec>
+ </goal>
+
<goal name="stop:tomcat">
<exec executable="${tomcat.home}/bin/shutdown.sh" />
</goal>
@@ -632,6 +637,14 @@
<unjar src="" dest="${tomcat.home}/webapps/openejb"/>
<replace file="${tomcat.home}/webapps/openejb/WEB-INF/web.xml" token="@OPENEJB_HOME@" value="${openejb.home}"/>
</goal>
+
+ <goal name="setup:itests-webapp">
+ <!-- Unzip webapp and set openejb.home -->
+ <mkdir dir="${tomcat.home}/webapps/itests"/>
+ <unjar src="" dest="${tomcat.home}/webapps/itests"/>
+ <replace file="${tomcat.home}/webapps/itests/WEB-INF/web.xml" token="@OPENEJB_HOME@" value="${openejb.home}"/>
+ </goal>
+
<goal name="setup:webapp-example">
<j:set var="targetDir" value="${basedir}/target/"/>
<j:set var="tomcat.home" value="${targetDir}/${tomcat.prefix}-tomcat-${tomcat.version}"/>
@@ -645,24 +658,50 @@
<goal name="test:local">
<j:set var="openejb.jar" value="target/openejb-${pom.currentVersion}/lib/openejb-core-${pom.currentVersion}.jar"/>
<java jar="${openejb.jar}" fork="yes">
- <arg value="test"/>
- <arg value="local"/>
+ <arg value="test"/>
+ <arg value="local"/>
</java>
</goal>
<goal name="test:remote">
<j:set var="openejb.jar" value="target/openejb-${pom.currentVersion}/lib/openejb-core-${pom.currentVersion}.jar"/>
<java jar="${openejb.jar}" fork="yes">
- <arg value="test"/>
- <arg value="remote"/>
+ <arg value="test"/>
+ <arg value="remote"/>
</java>
</goal>
- <goal name="test:httpejb">
+ <goal name="test:http">
<j:set var="openejb.jar" value="target/openejb-${pom.currentVersion}/lib/openejb-core-${pom.currentVersion}.jar"/>
<java jar="${openejb.jar}" fork="yes">
- <arg value="test"/>
- <arg value="httpejb"/>
+ <arg value="test"/>
+ <arg value="http"/>
</java>
</goal>
+
+ <goal name="test:tomcat">
+ <attainGoal name="setup:tomcat"/>
+ <attainGoal name="setup:loader-webapp"/>
+ <attainGoal name="start:tomcat"/>
+ <j:set var="openejb.jar" value="target/openejb-${pom.currentVersion}/lib/openejb-core-${pom.currentVersion}.jar"/>
+ <java jar="${openejb.jar}" fork="yes">
+ <arg value="test"/>
+ <arg value="tomcat"/>
+ <sysproperty key="remote.servlet.url" value="http://127.0.0.1:8080/openejb/remote"/>
+ </java>
+ <attainGoal name="stop:tomcat"/>
+ </goal>
+
+ <goal name="test:tomcat-webapp">
+ <attainGoal name="setup:tomcat"/>
+ <attainGoal name="setup:itests-webapp"/>
+ <attainGoal name="start:tomcat"/>
+ <j:set var="openejb.jar" value="target/openejb-${pom.currentVersion}/lib/openejb-core-${pom.currentVersion}.jar"/>
+ <java jar="${openejb.jar}" fork="yes">
+ <arg value="test"/>
+ <arg value="tomcat"/>
+ <sysproperty key="remote.serlvet.url" value="http://127.0.0.1:8080/itests/remote"/>
+ </java>
+ <attainGoal name="stop:tomcat"/>
+ </goal>
</project>
Modified: trunk/openejb1/modules/core/project.xml (2494 => 2495)
--- trunk/openejb1/modules/core/project.xml 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/core/project.xml 2006-02-23 07:30:53 UTC (rev 2495)
@@ -20,14 +20,39 @@
<!-- Module Dependencies -->
<!-- Thirdparty -->
<dependency>
- <groupId>geronimo-spec</groupId>
- <artifactId>geronimo-spec-j2ee</artifactId>
- <version>1.4-rc3</version>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+ <version>1.0</version>
<properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <version>1.0</version>
+ <properties>
<runtime>true</runtime>
</properties>
</dependency>
+
<dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.4_spec</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
<id>log4j</id>
<version>1.2.8</version>
<url>http://jakarta.apache.org/log4j</url>
Modified: trunk/openejb1/modules/core/src/java/org/openejb/core/stateful/StatefulBeanManagedTxPolicy.java (2494 => 2495)
--- trunk/openejb1/modules/core/src/java/org/openejb/core/stateful/StatefulBeanManagedTxPolicy.java 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/core/src/java/org/openejb/core/stateful/StatefulBeanManagedTxPolicy.java 2006-02-23 07:30:53 UTC (rev 2495)
@@ -18,8 +18,6 @@
*/
public class StatefulBeanManagedTxPolicy extends TransactionPolicy {
- protected StatefulContainer statefulContainer;
-
public StatefulBeanManagedTxPolicy(TransactionContainer container){
this();
if(container instanceof org.openejb.Container &&
@@ -27,8 +25,6 @@
throw new IllegalArgumentException();
}
this.container = container;
- this.statefulContainer = (StatefulContainer)container;
-
}
public StatefulBeanManagedTxPolicy(){
@@ -66,13 +62,14 @@
*/
public void beforeInvoke(EnterpriseBean instance, TransactionContext context) throws org.openejb.SystemException, org.openejb.ApplicationException{
try {
-
+
+ StatefulInstanceManager instanceManager = (StatefulInstanceManager) context.context.get(StatefulInstanceManager.class);
// if no transaction ---> suspend returns null
context.clientTx = suspendTransaction();
// Get any previously started transaction
Object primaryKey = context.callContext.getPrimaryKey();
- Object possibleBeanTx = statefulContainer.getInstanceManager().getAncillaryState( primaryKey );
+ Object possibleBeanTx = instanceManager.getAncillaryState( primaryKey );
if ( possibleBeanTx instanceof Transaction ) {
context.currentTx = (Transaction)possibleBeanTx;
resumeTransaction( context.currentTx );
@@ -116,7 +113,8 @@
// Remeber the instance's transaction
Object primaryKey = context.callContext.getPrimaryKey();
- statefulContainer.getInstanceManager().setAncillaryState( primaryKey, context.currentTx );
+ StatefulInstanceManager instanceManager = (StatefulInstanceManager) context.context.get(StatefulInstanceManager.class);
+ instanceManager.setAncillaryState( primaryKey, context.currentTx );
} catch ( org.openejb.OpenEJBException e ) {
handleSystemException( e.getRootCause(), instance, context );
Modified: trunk/openejb1/modules/core/src/java/org/openejb/core/stateful/StatefulContainer.java (2494 => 2495)
--- trunk/openejb1/modules/core/src/java/org/openejb/core/stateful/StatefulContainer.java 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/core/src/java/org/openejb/core/stateful/StatefulContainer.java 2006-02-23 07:30:53 UTC (rev 2495)
@@ -300,7 +300,7 @@
// txScopeHandler.afterInvoke( ) peformed in the finally clause
TransactionPolicy txPolicy = callContext.getDeploymentInfo().getTransactionPolicy( callMethod );
TransactionContext txContext = new TransactionContext( callContext );
-
+ txContext.context.put(StatefulInstanceManager.class, instanceManager);
try {
txPolicy.beforeInvoke( bean, txContext );
} catch ( org.openejb.ApplicationException e ) {
Modified: trunk/openejb1/modules/core/src/java/org/openejb/core/transaction/TransactionContext.java (2494 => 2495)
--- trunk/openejb1/modules/core/src/java/org/openejb/core/transaction/TransactionContext.java 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/core/src/java/org/openejb/core/transaction/TransactionContext.java 2006-02-23 07:30:53 UTC (rev 2495)
@@ -48,6 +48,9 @@
import org.openejb.core.ThreadContext;
+import java.util.Map;
+import java.util.HashMap;
+
/**
*
* @author <a href="" PROTECTED]">David Blevins</a>
@@ -58,12 +61,14 @@
public Transaction clientTx;
public Transaction currentTx;
public ThreadContext callContext;
-
+ public final Map context = new HashMap();
public TransactionContext(){
}
public TransactionContext(ThreadContext callContext){
this.callContext = callContext;
}
+
+
}
Modified: trunk/openejb1/modules/itests/project.xml (2494 => 2495)
--- trunk/openejb1/modules/itests/project.xml 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/itests/project.xml 2006-02-23 07:30:53 UTC (rev 2495)
@@ -34,15 +34,40 @@
<runtime>true</runtime>
</properties>
</dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.4_spec</artifactId>
+ <version>1.0</version>
+ </dependency>
+
<dependency>
- <groupId>geronimo-spec</groupId>
- <artifactId>geronimo-spec-j2ee</artifactId>
- <version>1.4-rc3</version>
- <properties>
- <runtime>true</runtime>
- </properties>
- </dependency>
- <dependency>
<id>idb</id>
<version>3.26</version>
<properties>
Modified: trunk/openejb1/modules/itests/src/java/org/openejb/test/TomcatRemoteTestServer.java (2494 => 2495)
--- trunk/openejb1/modules/itests/src/java/org/openejb/test/TomcatRemoteTestServer.java 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/itests/src/java/org/openejb/test/TomcatRemoteTestServer.java 2006-02-23 07:30:53 UTC (rev 2495)
@@ -18,6 +18,7 @@
import org.openejb.client.RemoteInitialContextFactory;
+import java.net.URL;
import java.util.Properties;
/**
@@ -25,23 +26,63 @@
*/
public class TomcatRemoteTestServer implements TestServer {
private Properties properties;
+ private String servletUrl;
public void init(Properties props) {
properties = props;
+ servletUrl = System.getProperty("remote.serlvet.url", "http://127.0.0.1:8080/openejb/remote");
props.put("test.server.class", TomcatRemoteTestServer.class.getName());
props.put("java.naming.factory.initial", RemoteInitialContextFactory.class.getName());
- props.put("java.naming.provider.url","http://127.0.0.1:8080/openejb/remote");
+ props.put("java.naming.provider.url", servletUrl);
}
public void start() {
System.out.println("Note: Tomcat should be started before running these tests");
+ if (!connect()) {
+ throw new IllegalStateException("Unable to connect to Tomcat at localhost port 8080");
+ }
+
+ // Wait a wee bit longer for good measure
+ try {
+ Thread.sleep(5000);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
}
public void stop() {
}
- public Properties getContextEnvironment(){
- return (Properties)properties.clone();
+ public Properties getContextEnvironment() {
+ return (Properties) properties.clone();
}
+
+ private boolean connect() {
+ return connect(10);
+ }
+
+ private boolean connect(int tries) {
+ //System.out.println("CONNECT "+ tries);
+ try {
+ URL url = "" URL(servletUrl);
+ url.openStream();
+ } catch (Exception e) {
+ System.out.println("Attempting to connect to " + servletUrl);
+ //System.out.println(e.getMessage());
+ if (tries < 2) {
+ return false;
+ } else {
+ try {
+ Thread.sleep(5000);
+ } catch (Exception e2) {
+ e.printStackTrace();
+ }
+ return connect(--tries);
+ }
+ }
+
+ return true;
+ }
}
Modified: trunk/openejb1/modules/itests-webapp/project.xml (2494 => 2495)
--- trunk/openejb1/modules/itests-webapp/project.xml 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/itests-webapp/project.xml 2006-02-23 07:30:53 UTC (rev 2495)
@@ -42,12 +42,13 @@
<war.bundle>true</war.bundle>
</properties>
</dependency>
+
<dependency>
- <groupId>geronimo-spec</groupId>
- <artifactId>geronimo-spec-ejb</artifactId>
- <version>2.1-rc4</version>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <version>1.0</version>
<properties>
- <war.bundle>true</war.bundle>
+ <war.bundle>true</war.bundle>
</properties>
</dependency>
</dependencies>
Modified: trunk/openejb1/modules/loader/project.xml (2494 => 2495)
--- trunk/openejb1/modules/loader/project.xml 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/loader/project.xml 2006-02-23 07:30:53 UTC (rev 2495)
@@ -36,17 +36,40 @@
</dependency>
<!-- Thirdparty -->
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
<dependency>
- <groupId>geronimo-spec</groupId>
- <artifactId>geronimo-spec-j2ee</artifactId>
- <version>1.4-rc3</version>
- <properties>
- <runtime>true</runtime>
- </properties>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
</dependency>
<dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.4_spec</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
<id>log4j</id>
<version>1.2.8</version>
<url>http://jakarta.apache.org/log4j</url>
Modified: trunk/openejb1/modules/webadmin/project.xml (2494 => 2495)
--- trunk/openejb1/modules/webadmin/project.xml 2006-02-23 05:49:16 UTC (rev 2494)
+++ trunk/openejb1/modules/webadmin/project.xml 2006-02-23 07:30:53 UTC (rev 2495)
@@ -27,15 +27,40 @@
</properties>
</dependency>
<!-- Thirdparty -->
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+ <version>1.0</version>
+ <properties>
+ <runtime>true</runtime>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.4_spec</artifactId>
+ <version>1.0</version>
+ </dependency>
+
<dependency>
- <groupId>geronimo-spec</groupId>
- <artifactId>geronimo-spec-j2ee</artifactId>
- <version>1.4-rc3</version>
- <properties>
- <runtime>true</runtime>
- </properties>
- </dependency>
- <dependency>
<id>log4j</id>
<version>1.2.8</version>
<url>http://jakarta.apache.org/log4j</url>