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/2368d4e6
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/2368d4e6
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/2368d4e6

Branch: refs/heads/ode-1.3.6.x
Commit: 2368d4e6393dd6341b9a83c9b628e5b5c239ea9a
Parents: 3bb3bfa
Author: Tammo van Lessen <[email protected]>
Authored: Fri Aug 23 19:38:51 2013 +0200
Committer: Tammo van Lessen <[email protected]>
Committed: Fri Aug 23 19:38:51 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/2368d4e6/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 b5a198c..b164275 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;
@@ -398,6 +399,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