You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2004/10/25 05:21:31 UTC
svn commit: rev 55475 - geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction
Author: djencks
Date: Sun Oct 24 20:21:30 2004
New Revision: 55475
Removed:
geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/TransactionProxy.java
Modified:
geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/GeronimoTransactionManager.java
geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/TransactionManagerProxy.java
Log:
Make sure the txmanager proxy exposes ExtendedTransactionManager. Remove TransactionProxy. Work around bug in GBeanInfoFactory
Modified: geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/GeronimoTransactionManager.java
==============================================================================
--- geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/GeronimoTransactionManager.java (original)
+++ geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/GeronimoTransactionManager.java Sun Oct 24 20:21:30 2004
@@ -71,6 +71,7 @@
infoFactory.addReference("ResourceManagers", ResourceManager.class);
infoFactory.addInterface(TransactionManager.class);
+ infoFactory.addInterface(ExtendedTransactionManager.class);
infoFactory.addInterface(XidImporter.class);
infoFactory.setConstructor(new String[]{"defaultTransactionTimeoutSeconds", "TransactionLog", "ResourceManagers"});
Modified: geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/TransactionManagerProxy.java
==============================================================================
--- geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/TransactionManagerProxy.java (original)
+++ geronimo/trunk/modules/transaction/src/java/org/apache/geronimo/transaction/TransactionManagerProxy.java Sun Oct 24 20:21:30 2004
@@ -31,7 +31,6 @@
import javax.transaction.Status;
import javax.transaction.SystemException;
import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
import javax.transaction.xa.XAException;
import javax.transaction.xa.Xid;
@@ -151,7 +150,7 @@
}
public Transaction begin(long transactionTimeoutMilliseconds) throws NotSupportedException, SystemException {
- Transaction tx = new TransactionProxy(delegate.begin(transactionTimeoutMilliseconds));
+ Transaction tx = delegate.begin(transactionTimeoutMilliseconds);
threadTx.set(tx);
return tx;
}
@@ -179,9 +178,6 @@
if (threadTx.get() != null) {
throw new IllegalStateException("Transaction already associated with current thread");
}
- if (tx instanceof TransactionProxy == false) {
- throw new InvalidTransactionException("Cannot resume foreign transaction: " + tx);
- }
threadTx.set(tx);
}
@@ -221,29 +217,25 @@
//XidImporter implementation. Wrap and unwrap TransactionProxy.
//the importer functions should not affect the thread context.
public Transaction importXid(Xid xid, long transactionTimeoutMillis) throws XAException, SystemException {
-// if (threadTx.get() != null) {
-// throw new XAException("Transaction already associated with current thread");
-// }
- TransactionProxy transactionProxy = new TransactionProxy(importer.importXid(xid, transactionTimeoutMillis));
-// threadTx.set(transactionProxy);
- return transactionProxy;
+ Transaction tx = importer.importXid(xid, transactionTimeoutMillis);
+ return tx;
}
//TODO how do these relate to threadTx???? probably not at all...
public void commit(Transaction tx, boolean onePhase) throws XAException {
- importer.commit(((TransactionProxy) tx).getDelegate(), onePhase);
+ importer.commit(tx, onePhase);
}
public void forget(Transaction tx) throws XAException {
- importer.forget(((TransactionProxy) tx).getDelegate());
+ importer.forget(tx);
}
public int prepare(Transaction tx) throws XAException {
- return importer.prepare(((TransactionProxy) tx).getDelegate());
+ return importer.prepare(tx);
}
public void rollback(Transaction tx) throws XAException {
- importer.rollback(((TransactionProxy) tx).getDelegate());
+ importer.rollback(tx);
}
//Recovery implementation
@@ -279,7 +271,7 @@
for (Iterator iterator = internal.entrySet().iterator(); iterator.hasNext();) {
Map.Entry entry = (Map.Entry) iterator.next();
Transaction tx = (Transaction) entry.getValue();
- external.put(entry.getKey(), new TransactionProxy(tx));
+ external.put(entry.getKey(), tx);
}
return external;
}
@@ -294,7 +286,7 @@
infoFactory.addReference("recovery", Recovery.class);
infoFactory.addReference("resourceManagers", ResourceManager.class);
- infoFactory.addInterface(TransactionManager.class);
+ infoFactory.addInterface(ExtendedTransactionManager.class);
infoFactory.addInterface(XidImporter.class);
infoFactory.setConstructor(new String[]{"delegate", "xidImporter", "recovery", "resourceManagers"});