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]