djencks 2004/02/23 12:28:43
Modified:modules/connector/src/java/org/apache/geronimo/connector/work
GeronimoWorkManager.java WorkerContext.java
modules/connector/src/test/org/apache/geronimo/connector/work
PooledWorkManagerTest.java
modules/transaction/src/java/org/apache/geronimo/transaction
TransactionManagerProxy.java TransactionProxy.java
modules/transaction/src/java/org/apache/geronimo/transaction/manager
TransactionImpl.java TransactionManagerImpl.java
XidFactory.java XidImpl.java
Added: modules/transaction/src/java/org/apache/geronimo/transaction
XAWork.java
modules/transaction/src/java/org/apache/geronimo/transaction/manager
XidImporter.java
Log:
add remote tx importing support. no tests yet.
Revision ChangesPath
1.2 +17 -29
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java
Index: GeronimoWorkManager.java
===
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- GeronimoWorkManager.java 23 Jan 2004 05:56:11 - 1.1
+++ GeronimoWorkManager.java 23 Feb 2004 20:28:42 - 1.2
@@ -66,11 +66,10 @@
import org.apache.geronimo.connector.work.pool.StartWorkExecutorPool;
import org.apache.geronimo.connector.work.pool.SyncWorkExecutorPool;
import org.apache.geronimo.connector.work.pool.WorkExecutorPool;
-import org.apache.geronimo.gbean.GAttributeInfo;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoFactory;
import org.apache.geronimo.gbean.GConstructorInfo;
-import org.apache.geronimo.gbean.GOperationInfo;
+import org.apache.geronimo.transaction.XAWork;
/**
* WorkManager implementation which uses under the cover three
WorkExecutorPool
@@ -90,8 +89,6 @@
private final static int DEFAULT_MIN_POOL_SIZE = 0;
private final static int DEFAULT_MAX_POOL_SIZE = 10;
-private static final GBeanInfo GBEAN_INFO;
-
/**
* Pool of threads used by this WorkManager in order to process
* the Work instances submitted via the doWork methods.
@@ -110,21 +107,24 @@
*/
private final WorkExecutorPool scheduledWorkExecutorPool;
+private final XAWork xaWork;
+
/**
* Create a WorkManager.
*/
public GeronimoWorkManager() {
-this(DEFAULT_MIN_POOL_SIZE, DEFAULT_MAX_POOL_SIZE);
+this(DEFAULT_MIN_POOL_SIZE, DEFAULT_MAX_POOL_SIZE, null);
}
-public GeronimoWorkManager(int minSize, int maxSize) {
-this(minSize, maxSize, minSize, maxSize, minSize, maxSize);
+public GeronimoWorkManager(int minSize, int maxSize, XAWork xaWork) {
+this(minSize, maxSize, minSize, maxSize, minSize, maxSize, xaWork);
}
-public GeronimoWorkManager(int syncMinSize, int syncMaxSize, int
startMinSize, int startMaxSize, int schedMinSize, int schedMaxSize) {
+public GeronimoWorkManager(int syncMinSize, int syncMaxSize, int
startMinSize, int startMaxSize, int schedMinSize, int schedMaxSize, XAWork
xaWork) {
syncWorkExecutorPool = new SyncWorkExecutorPool(syncMinSize,
syncMaxSize);
startWorkExecutorPool = new StartWorkExecutorPool(startMinSize,
startMaxSize);
scheduledWorkExecutorPool = new
ScheduleWorkExecutorPool(schedMinSize, schedMaxSize);
+this.xaWork = xaWork;
}
public int getSyncThreadCount() {
@@ -204,7 +204,7 @@
WorkListener workListener)
throws WorkException {
WorkerContext workWrapper =
-new WorkerContext(work, startTimeout, execContext,
workListener);
+new WorkerContext(work, startTimeout, execContext, xaWork,
workListener);
workWrapper.setThreadPriority(Thread.currentThread().getPriority());
syncWorkExecutorPool.executeWork(workWrapper);
}
@@ -229,7 +229,7 @@
WorkListener workListener)
throws WorkException {
WorkerContext workWrapper =
-new WorkerContext(work, startTimeout, execContext,
workListener);
+new WorkerContext(work, startTimeout, execContext, xaWork,
workListener);
workWrapper.setThreadPriority(Thread.currentThread().getPriority());
startWorkExecutorPool.executeWork(workWrapper);
return System.currentTimeMillis() - workWrapper.getAcceptedTime();
@@ -254,31 +254,19 @@
WorkListener workListener)
throws