haul 01/12/06 06:04:08
Modified: scratchpad/src/org/apache/cocoon/acting
ModularDatabaseAction.java
Log:
Complain if transactions are not present. Configuration
option to run without transactions.
Revision Changes Path
1.5 +13 -3
xml-cocoon2/scratchpad/src/org/apache/cocoon/acting/ModularDatabaseAction.java
Index: ModularDatabaseAction.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/scratchpad/src/org/apache/cocoon/acting/ModularDatabaseAction.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ModularDatabaseAction.java 2001/12/04 04:14:33 1.4
+++ ModularDatabaseAction.java 2001/12/06 14:04:08 1.5
@@ -86,7 +86,7 @@
* components can utilize the helper components.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Christian Haul</a>
- * @version CVS $Revision: 1.4 $ $Date: 2001/12/04 04:14:33 $
+ * @version CVS $Revision: 1.5 $ $Date: 2001/12/06 14:04:08 $
*/
public abstract class ModularDatabaseAction extends AbstractDatabaseAction
implements Disposable, ThreadSafe, Contextualizable {
@@ -536,7 +536,16 @@
datasource = this.getDataSource(conf, param);
conn = datasource.getConnection();
if (conn.getAutoCommit() == true) {
- conn.setAutoCommit(false);
+ try {
+ conn.setAutoCommit(false);
+ } catch (Exception ex) {
+ String tmp = param.getParameter("use-transactions",(String)
this.settings.get("use-transactions",null));
+ if (tmp != null && (tmp.equalsIgnoreCase("no") ||
tmp.equalsIgnoreCase("false") || tmp.equalsIgnoreCase("0"))) {
+ if (getLogger().isErrorEnabled())
+ getLogger().error("This DB connection does not support
transactions. If you want to risk your data's integrity by continuing nonetheless set
parameter \"use-transactions\" to \"no\".");
+ throw ex;
+ }
+ }
}
Configuration[] tables = conf.getChildren("table");
@@ -593,7 +602,8 @@
}
}
- conn.commit();
+ if (conn.getAutoCommit()==false)
+ conn.commit();
OutputHelper oh = (OutputHelper) outputMapping.select( (String)
defaultModeNames.get( MODE_OUTPUT ) );
oh.commit( null, request );
outputMapping.release( oh );
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]