[jboss-svn-commits] JBL Code SVN: r29564 - in labs/jbosstm/workspace/resttx: demo/src/main/java/org/jboss/jbossts/rts/demo/server and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 8 14:35:16 EDT 2009
Author: mmusgrov
Date: 2009-10-08 14:35:16 -0400 (Thu, 08 Oct 2009)
New Revision: 29564
Added:
labs/jbosstm/workspace/resttx/webservice/src/test/resources/jbossjta-properties.xml
Modified:
labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/client/RESTDemoApp.java
labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/server/TxHelper.java
labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/server/TxServiceImpl.java
labs/jbosstm/workspace/resttx/webservice/build.xml
Log:
add missing jbossjta-properties file with correct recovery config
Modified: labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/client/RESTDemoApp.java
===================================================================
--- labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/client/RESTDemoApp.java 2009-10-08 18:20:22 UTC (rev 29563)
+++ labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/client/RESTDemoApp.java 2009-10-08 18:35:16 UTC (rev 29564)
@@ -219,14 +219,21 @@
// Create a callback object to retrieve the response
AsyncCallback<String> callback = new AsyncCallback<String>() {
public void onFailure(Throwable e) {
- String msg = "Start booking error: " + e.getMessage();
- statusPanel.clearStatus(msg);
+ onSuccess("Error: " + e.getMessage());
+ //String msg = "Start booking error: " + e.getMessage();
+ //statusPanel.clearStatus(msg);
}
public void onSuccess(String txid) {
- statusPanel.setStatus("In progress");
- statusPanel.setTxId(txid);
- txTb.setText(statusPanel.getId());
+ if (txid != null && txid.startsWith("Error")) {
+ statusPanel.clearStatus(txid);
+ controlPanel.setVisible(true);
+ bookingPanel.setVisible(false);
+ } else {
+ statusPanel.setStatus("In progress");
+ statusPanel.setTxId(txid);
+ txTb.setText(statusPanel.getId());
+ }
}
};
Modified: labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/server/TxHelper.java
===================================================================
--- labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/server/TxHelper.java 2009-10-08 18:20:22 UTC (rev 29563)
+++ labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/server/TxHelper.java 2009-10-08 18:35:16 UTC (rev 29564)
@@ -62,6 +62,7 @@
} catch (HttpResponseException e) {
if (!fail)
assertTrue(e.getMessage(), false);
+ tx = "Error: No available coordinator";
}
return tx;
Modified: labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/server/TxServiceImpl.java
===================================================================
--- labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/server/TxServiceImpl.java 2009-10-08 18:20:22 UTC (rev 29563)
+++ labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/server/TxServiceImpl.java 2009-10-08 18:35:16 UTC (rev 29564)
@@ -38,12 +38,12 @@
catch (IOException e)
{
e.printStackTrace();
- return e.getMessage();
+ return "Error: " + e.getMessage();
}
catch (Throwable e)
{
e.printStackTrace();
- return e.getMessage();
+ return "Error: " + e.getMessage();
}
}
@@ -58,7 +58,7 @@
catch (Throwable e)
{
e.printStackTrace();
- return e.getMessage();
+ return "Error: " + e.getMessage();
}
}
@@ -73,7 +73,7 @@
catch (Throwable e)
{
e.printStackTrace();
- return e.getMessage();
+ return "Error: " + e.getMessage();
}
}
}
Modified: labs/jbosstm/workspace/resttx/webservice/build.xml
===================================================================
--- labs/jbosstm/workspace/resttx/webservice/build.xml 2009-10-08 18:20:22 UTC (rev 29563)
+++ labs/jbosstm/workspace/resttx/webservice/build.xml 2009-10-08 18:35:16 UTC (rev 29564)
@@ -12,15 +12,13 @@
<pathelement location="${build.classes.dir}"/>
-->
<pathelement location="target/rest-tx-web-1.0-M1-SNAPSHOT/WEB-INF/lib/junit-4.5.jar"/>
- <pathelement location="${basedir}/target/rest-tx-web-1.0-M1-SNAPSHOT/WEB-INF/lib/log4j-1.2.12.jar"/>
- <pathelement location="${basedir}/target/rest-tx-web-1.0-M1-SNAPSHOT/WEB-INF/lib/commons-logging-1.1.jar"/>
<pathelement location="${basedir}/target/test-classes"/>
<pathelement location="target/rest-tx-web-1.0-M1-SNAPSHOT/WEB-INF/lib/rest-tx-api-1.0-M1-SNAPSHOT.jar"/>
<fileset dir="${resteasy.dir}" >
<include name="jaxrs-api-1.0-RC1.jar"/>
<include name="resteasy-jaxrs-1.0-RC1.jar"/>
<include name="commons-httpclient-3.1.jar"/>
- <include name="commons-logging-1.0.4.jar"/>
+ <include name="commons-logging-1.1.jar"/>
<include name="commons-codec-1.2.jar"/>
<!-- jar for running an external recovery manager -->
<include name="jbossjta-4.4.0.GA.jar"/>
Added: labs/jbosstm/workspace/resttx/webservice/src/test/resources/jbossjta-properties.xml
===================================================================
--- labs/jbosstm/workspace/resttx/webservice/src/test/resources/jbossjta-properties.xml (rev 0)
+++ labs/jbosstm/workspace/resttx/webservice/src/test/resources/jbossjta-properties.xml 2009-10-08 18:35:16 UTC (rev 29564)
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<transaction-service>
+ <properties depends="common" name="arjuna">
+ <property
+ name="com.arjuna.ats.internal.arjuna.inventory.staticInventoryImple.RESTRecord" value="org.jboss.jbossts.rts.resource.RESTRecordSetup" />
+ <!--
+ Transaction Reaper Timeout (default is 120000 ms).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperTimeout" value="120000"/>
+ <!--
+ Transaction Reaper Mode, can be: PERIODIC or DYNAMIC. Default is DYNAMIC.
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.txReaperMode" value="DYNAMIC"/>
+ <!--
+ Transaction Reaper Cancel Wait Period (default is 500 ms, min is 10 msecs).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperCancelWaitPeriod" value="500"/>
+ <!--
+ Transaction Reaper Cancel Fail Wait Period (default is 500 ms, min is 10 msecs).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperCancelFailWaitPeriod" value="500"/>
+ <!--
+ Transaction Reaper Zombie Max (default is 8).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperZombieMax" value="8"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.asyncCommit" value="NO"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.asyncPrepare" value="NO"/>
+ <!--
+ (default is YES)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.commitOnePhase" value="YES"/>
+ <!--
+ (default is defaultStore)
+ -->
+ <property name="com.arjuna.ats.arjuna.objectstore.localOSRoot" value="defaultStore"/>
+ <!--
+ default is under user.home - must be writeable!)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreDir" value="ObjectStore" />
+ <property name="com.arjuna.ats.arjuna.coordinator.transactionLog" value="OFF"/>
+ <!--
+ (default is ON)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreSync" value="ON"/>
+ <!--
+ (default is ShadowNoFileLockStore)
+ -->
+ <property name="com.arjuna.ats.arjuna.objectstore.objectStoreType" value="ShadowNoFileLockStore"/>
+ <!--
+ (default is 255)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.hashedDirectories" value="255"/>
+ <!--
+ (default is ON)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.transactionSync" value="ON"/>
+ <!--
+ (Must be unique across all Arjuna instances.)
+ -->
+ <property name="com.arjuna.ats.arjuna.xa.nodeIdentifier" value="1"/>
+ <!--
+ Base port number for determining a unique number to associate with an instance of the transaction service
+ (which is needed in order to support multiple instances on the same machine).
+ Use the value 0 to allow the system to select the first available port number.
+ If the port number is non-zero and the port is in use then the value will be incremented until either a successful binding
+ to the loopback address is created or until the the maximum number of ports (specified by the
+ com.arjuna.ats.internal.arjuna.utils.SocketProcessIdMaxPorts property) have been tried or until the port number
+ reaches the maximum possible port number.
+ -->
+ <property
+ name="com.arjuna.ats.internal.arjuna.utils.SocketProcessIdPort" value="0"/>
+ <!--
+ The maximum number of ports to try starting from the value specified by the property
+ com.arjuna.ats.internal.arjuna.utils.SocketProcessIdPort. Any non-numeric or value less than 1 will
+ defautl to 1.
+ -->
+ <property
+ name="com.arjuna.ats.internal.arjuna.utils.SocketProcessIdMaxPorts" value="1"/>
+ <!--
+ Run the TransactionStatusManager to allow out-of-process recovery managers to query
+ the status of transactions owned by this coordinator. Default is YES.
+ This can be set to NO in cases where an ObjectStore is used only by one transaction manager
+ and the recovery manager for that store is in the same JVM. In any other cases disabling the
+ TransactionStatusManager may cause crash recovery to misbehave.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.transactionStatusManagerEnable" value="NO"/>
+ <!-- property
+ name="com.arjuna.ats.arjuna.coordinator.actionStore"
+ value="HashedActionStore"
+ value="JDBCActionStore"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess"
+ value="JDBCAccess"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreType"
+ value="ShadowNoFileLockStore"
+ value="JDBCStore"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess"
+ value="JDBCAccess"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeInitial"
+ value="1"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeMaximum"
+ value="1"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolPutConnections"
+ value="false"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.size"
+ value=""
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.period"
+ value=""
+ -->
+ <!--
+ The location for creating temporary files, e.g., Uids.
+ Default is under user.home.
+ IMPORTANT: make sure the directory is lockable, e.g., /tmp on Unix
+ may not be!
+ -->
+ <!--
+ <property
+ name="com.arjuna.ats.arjuna.common.varDir"
+ value="var"/>
+ -->
+ </properties>
+ <properties name="common">
+ <!-- CLF 2.0 properties -->
+ <property name="com.arjuna.common.util.logging.DebugLevel"
+ type="System" value="0xffffffff"/>
+ <property name="com.arjuna.common.util.logging.FacilityLevel"
+ type="System" value="0xffffffff"/>
+ <property name="com.arjuna.common.util.logging.VisibilityLevel"
+ type="System" value="0xffffffff"/>
+ <property name="com.arjuna.common.util.logger" type="System" value="log4j"/>
+ </properties>
+ <properties depends="arjuna" name="txoj">
+ <!--
+ (default is LockStore of installation - must be writeable!)
+ -->
+ <!--
+ <property
+ name="com.arjuna.ats.txoj.lockstore.lockStoreDir"
+ value="LockStore"/>
+ -->
+ <!--
+ (default is BasicLockStore)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.lockStoreType" value="BasicLockStore"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.multipleLockStore" value="NO"/>
+ <!--
+ (default is YES)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.singleLockStore" value="YES"/>
+ <!--
+ (default is YES)
+ -->
+ <property
+ name="com.arjuna.ats.txoj.lockstore.allowNestedLocking" value="YES"/>
+ </properties>
+ <properties depends="arjuna" name="jta">
+ <!--
+ Support subtransactions in the JTA layer?
+ Default is NO.
+ -->
+ <property name="com.arjuna.ats.jta.supportSubtransactions" value="NO"/>
+ <property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/>
+ <!--
+ com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple
+ -->
+ <property name="com.arjuna.ats.jta.jtaUTImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>
+ <!--
+ com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple
+ -->
+ </properties>
+ <properties depends="arjuna,txoj,jta" name="recoverymanager">
+ <!--
+ Properties used only by the RecoveryManager.
+ -->
+ <!--
+ Periodic recovery settings.
+ Time values in this section are in seconds.
+ -->
+ <!--
+ Interval in seconds between initiating the periodic recovery modules.
+ Default is 120 seconds.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.periodicRecoveryPeriod" value="120"/>
+ <!--
+ Interval in seconds between first and second pass of periodic recovery.
+ Default is 10 seconds.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod" value="10"/>
+ <!--
+ The port number on which the recovery manager listens.
+ -->
+ <property name="com.arjuna.ats.arjuna.recovery.recoveryPort" value="4712"/>
+ <!--
+ The address on which the recovery manager listens.
+ If running within an AS then the address the AS is bound to (jboss.bind.address) takes precedence
+ -->
+ <property name="com.arjuna.ats.arjuna.recovery.recoveryAddress" value=""/>
+ <!--
+ Periodic recovery modules to use. Invoked in sort-order of names.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryExtension1" value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryExtension2" value="com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"/>
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryExtension3" value="com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule"/>
+ <!--
+ Expired entry removal
+ -->
+ <!--
+ Expiry scanners to use (order of invocation is random).
+ Names must begin with "com.arjuna.ats.arjuna.recovery.expiryScanner"
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.expiryScannerTransactionStatusManager" value="com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner"/>
+ <!--
+ Interval, in hours, between running the expiry scanners.
+ This can be quite long. The absolute value determines the interval -
+ if the value is negative, the scan will NOT be run until after one
+ interval has elapsed. If positive the first scan will be immediately
+ after startup. Zero will prevent any scanning.
+ Default = 12 = run immediately, then every 12 hours.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.expiryScanInterval" value="12"/>
+ <!--
+ This is the interval, in hours, after which a process that cannot be contacted will be considered dead.
+ It should be long enough to avoid accidentally removing valid entries due to short lived
+ transient errors such as network downtime. Zero = Never removed. Default is 12.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime" value="12"/>
+ <!--
+ Use this to fix the port on which the TransactionStatusManager listens,
+ The default behaviour is to use any free port.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort" value="0"/>
+ <!--
+ Use this to fix the address on which the TransactionStatusManager binds,
+ The default behaviour is to use the loopback address (ie localhost).
+ If running within an AS then the address the AS is bound to (jboss.bind.address) takes precedence
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerAddress" value=""/>
+ <!--
+ For cases where the recovery manager is in process with the transaction manager and nothing else uses
+ the ObjectStore, it is possible to disable the socket based recovery listener by setting this to NO.
+ Caution: use of this property can allow multiple recovery processes to run on the same ObjectStore
+ if you are not careful. That in turn can lead to incorrect transaction processing. Use with care.
+ -->
+ <property name="com.arjuna.ats.arjuna.recovery.recoveryListener" value="NO"/>
+ </properties>
+ <properties depends="jta" name="jdbc">
+ <!--
+ property name="com.arjuna.ats.jdbc.isolationLevel" value="TRANSACTION_SERIALIZABLE"/>
+ -->
+ </properties>
+</transaction-service>
More information about the jboss-svn-commits
mailing list