ODE-997: Throw an exception if an external datasource is configured but no JTA 
transaction manager is passed in (which is needed to let ODE do its work 
properly).


Project: http://git-wip-us.apache.org/repos/asf/ode/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/4a281a73
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/4a281a73
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/4a281a73

Branch: refs/heads/master
Commit: 4a281a73c9645b2fd1b92659b999a1371ecfb9b0
Parents: ce03197
Author: Tammo van Lessen <[email protected]>
Authored: Fri Aug 23 19:38:51 2013 +0200
Committer: Tammo van Lessen <[email protected]>
Committed: Tue Aug 27 00:09:52 2013 +0200

----------------------------------------------------------------------
 axis2/src/main/java/org/apache/ode/axis2/ODEServer.java | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ode/blob/4a281a73/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
----------------------------------------------------------------------
diff --git a/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java 
b/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
index 8237acc..7ed6483 100644
--- a/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
+++ b/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
@@ -73,6 +73,7 @@ import 
org.apache.ode.bpel.intercept.MessageExchangeInterceptor;
 import org.apache.ode.bpel.memdao.BpelDAOConnectionFactoryImpl;
 import org.apache.ode.bpel.pmapi.InstanceManagement;
 import org.apache.ode.bpel.pmapi.ProcessManagement;
+import org.apache.ode.il.config.OdeConfigProperties;
 import org.apache.ode.il.dbutil.Database;
 import org.apache.ode.scheduler.simple.JdbcDelegate;
 import org.apache.ode.scheduler.simple.SimpleScheduler;
@@ -416,6 +417,11 @@ public class ODEServer {
 
     @SuppressWarnings("unchecked")
      private void initTxMgr() throws ServletException {
+        if 
(_odeConfig.getDbMode().equals(OdeConfigProperties.DatabaseMode.EXTERNAL) &&
+                
_odeConfig.getTxFactoryClass().equals(OdeConfigProperties.DEFAULT_TX_FACTORY_CLASS_NAME))
 {
+            throw new ServletException("No external transaction manager 
factory configured. Please use the INTERNAL mode or configure an external 
transaction manager that is associated with external datasource.");
+        }
+        
         String txFactoryName = _odeConfig.getTxFactoryClass();
         __log.debug("Initializing transaction manager using " + txFactoryName);
         try {

Reply via email to