dain 2004/04/03 17:20:11
Modified: modules/core/src/java/org/openejb/transaction
BeanPolicy.java ContainerPolicy.java
TransactionPolicy.java
TransactionPolicyManager.java
Log:
More deployment code.
The base structure is in, and now we just need to expand it.
Also fixed a bunch of serialization errors.
Revision Changes Path
1.2 +7 -1
openejb/modules/core/src/java/org/openejb/transaction/BeanPolicy.java
Index: BeanPolicy.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/transaction/BeanPolicy.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BeanPolicy.java 1 Mar 2004 07:14:43 -0000 1.1
+++ BeanPolicy.java 3 Apr 2004 22:20:11 -0000 1.2
@@ -107,11 +107,17 @@
}
}
}
+ private Object readResolve() {
+ return Stateless;
+ }
};
public static final TransactionPolicy Stateful = new TransactionPolicy() {
public InvocationResult invoke(Interceptor interceptor, EJBInvocation
ejbInvocation, TransactionManager txnManager) throws Throwable {
throw new IllegalStateException("Not yet implemented");
}
+ private Object readResolve() {
+ return Stateful;
+ }
};
}
1.2 +40 -37
openejb/modules/core/src/java/org/openejb/transaction/ContainerPolicy.java
Index: ContainerPolicy.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/transaction/ContainerPolicy.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ContainerPolicy.java 1 Mar 2004 07:14:43 -0000 1.1
+++ ContainerPolicy.java 3 Apr 2004 22:20:11 -0000 1.2
@@ -71,21 +71,16 @@
public class ContainerPolicy {
private static final Log log = LogFactory.getLog(ContainerPolicy.class);
- public static final TransactionPolicy NotSupported = new TxNotSupported(log);
- public static final TransactionPolicy Required = new TxRequired(log);
- public static final TransactionPolicy Supports = new TxSupports(log);
- public static final TransactionPolicy RequiresNew = new TxRequiresNew(log);
+ public static final TransactionPolicy NotSupported = new TxNotSupported();
+ public static final TransactionPolicy Required = new TxRequired();
+ public static final TransactionPolicy Supports = new TxSupports();
+ public static final TransactionPolicy RequiresNew = new TxRequiresNew();
public static final TransactionPolicy Mandatory = new TxMandatory();
- public static final TransactionPolicy Never = new TxNever(log);
+ public static final TransactionPolicy Never = new TxNever();
public static final TransactionPolicy BeforeDelivery = new TxBeforeDelivery();
- public static final TransactionPolicy AfterDelivery = new TxAfterDelivery(log);
+ public static final TransactionPolicy AfterDelivery = new TxAfterDelivery();
private static final class TxNotSupported implements TransactionPolicy {
- private final Log log;
- private TxNotSupported(Log log) {
- super();
- this.log = log;
- }
public InvocationResult invoke(Interceptor interceptor, EJBInvocation
ejbInvocation, TransactionManager txnManager) throws Throwable {
TransactionContext clientContext = TransactionContext.getContext();
if (clientContext != null) {
@@ -119,13 +114,12 @@
public String toString() {
return "NotSupported";
}
+
+ private Object readResolve() {
+ return ContainerPolicy.NotSupported;
+ }
}
private static final class TxRequired implements TransactionPolicy {
- private final Log log;
- private TxRequired(Log log) {
- super();
- this.log = log;
- }
public InvocationResult invoke(Interceptor interceptor, EJBInvocation
ejbInvocation, TransactionManager txnManager) throws Throwable {
TransactionContext clientContext = TransactionContext.getContext();
if (clientContext instanceof InheritableTransactionContext) {
@@ -163,13 +157,12 @@
public String toString() {
return "Required";
}
+
+ private Object readResolve() {
+ return ContainerPolicy.Required;
+ }
}
private static final class TxSupports implements TransactionPolicy {
- private final Log log;
- private TxSupports(Log log) {
- super();
- this.log = log;
- }
public InvocationResult invoke(Interceptor interceptor, EJBInvocation
ejbInvocation, TransactionManager txnManager) throws Throwable {
TransactionContext clientContext = TransactionContext.getContext();
if (clientContext != null) {
@@ -201,13 +194,12 @@
public String toString() {
return "Supports";
}
+
+ private Object readResolve() {
+ return ContainerPolicy.Supports;
+ }
}
private static final class TxRequiresNew implements TransactionPolicy {
- private final Log log;
- private TxRequiresNew(Log log) {
- super();
- this.log = log;
- }
public InvocationResult invoke(Interceptor interceptor, EJBInvocation
ejbInvocation, TransactionManager txnManager) throws Throwable {
TransactionContext clientContext = TransactionContext.getContext();
@@ -242,6 +234,10 @@
public String toString() {
return "RequiresNew";
}
+
+ private Object readResolve() {
+ return ContainerPolicy.RequiresNew;
+ }
}
private static final class TxMandatory implements TransactionPolicy {
public InvocationResult invoke(Interceptor interceptor, EJBInvocation
ejbInvocation, TransactionManager txnManager) throws Throwable {
@@ -259,13 +255,12 @@
public String toString() {
return "Mandatory";
}
+
+ private Object readResolve() {
+ return ContainerPolicy.Mandatory;
+ }
}
private static final class TxNever implements TransactionPolicy {
- private final Log log;
- private TxNever(Log log) {
- super();
- this.log = log;
- }
public InvocationResult invoke(Interceptor interceptor, EJBInvocation
ejbInvocation, TransactionManager txnManager) throws Throwable {
TransactionContext clientContext = TransactionContext.getContext();
@@ -302,6 +297,10 @@
public String toString() {
return "Never";
}
+
+ private Object readResolve() {
+ return ContainerPolicy.Never;
+ }
}
//TODO INCOMPLETE: XAResource is not enlisted in new tx. Method tx attr. is not
checked. clientContext is not saved.
private static final class TxBeforeDelivery implements TransactionPolicy {
@@ -327,14 +326,13 @@
public String toString() {
return "BeforeDelivery";
}
+
+ private Object readResolve() {
+ return ContainerPolicy.BeforeDelivery;
+ }
}
//TODO really broken. possible (imported) tx context is not restored.
XAResource is not delisted.
private static final class TxAfterDelivery implements TransactionPolicy {
- private final Log log;
- private TxAfterDelivery(Log log) {
- super();
- this.log = log;
- }
public InvocationResult invoke(Interceptor interceptor, EJBInvocation
ejbInvocation, TransactionManager txnManager) throws Throwable {
TransactionContext beanContext = TransactionContext.getContext();
try {
@@ -357,5 +355,10 @@
public String toString() {
return "AfterDelivery";
}
+
+
+ private Object readResolve() {
+ return ContainerPolicy.AfterDelivery;
+ }
}
}
1.2 +3 -2
openejb/modules/core/src/java/org/openejb/transaction/TransactionPolicy.java
Index: TransactionPolicy.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/transaction/TransactionPolicy.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TransactionPolicy.java 1 Mar 2004 07:14:43 -0000 1.1
+++ TransactionPolicy.java 3 Apr 2004 22:20:11 -0000 1.2
@@ -47,6 +47,7 @@
*/
package org.openejb.transaction;
+import java.io.Serializable;
import javax.transaction.TransactionManager;
import org.apache.geronimo.core.service.Interceptor;
@@ -59,6 +60,6 @@
*
* @version $Revision$ $Date$
*/
-public interface TransactionPolicy {
+public interface TransactionPolicy extends Serializable {
InvocationResult invoke(Interceptor interceptor, EJBInvocation ejbInvocation,
TransactionManager txnManager) throws Throwable;
}
1.3 +4 -2
openejb/modules/core/src/java/org/openejb/transaction/TransactionPolicyManager.java
Index: TransactionPolicyManager.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/transaction/TransactionPolicyManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TransactionPolicyManager.java 21 Mar 2004 21:26:37 -0000 1.2
+++ TransactionPolicyManager.java 3 Apr 2004 22:20:11 -0000 1.3
@@ -47,6 +47,8 @@
*/
package org.openejb.transaction;
+import java.io.Serializable;
+
import org.openejb.EJBInterfaceType;
import org.openejb.deployment.TransactionPolicySource;
import org.openejb.dispatch.InterfaceMethodSignature;
@@ -54,7 +56,7 @@
/**
* @version $Revision$ $Date$
*/
-public final class TransactionPolicyManager {
+public final class TransactionPolicyManager implements Serializable {
private final TransactionPolicy[][] transactionPolicy = new
TransactionPolicy[EJBInterfaceType.MAX_ORDINAL][];
public TransactionPolicyManager(TransactionPolicySource
transactionPolicySource, InterfaceMethodSignature[] signatures) {