Author: lresende
Date: Wed Jan  9 13:48:14 2008
New Revision: 610585

URL: http://svn.apache.org/viewvc?rev=610585&view=rev
Log:
Embedded ODE Server shutdown enhancements

Modified:
    
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java
    
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java
    
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java

Modified: 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java?rev=610585&r1=610584&r2=610585&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java
 Wed Jan  9 13:48:14 2008
@@ -71,8 +71,6 @@
 
     protected ProcessStore store;
 
-    private ExecutorService _executor;
-
     private Scheduler _scheduler;
 
     
@@ -139,11 +137,7 @@
         if (__log.isDebugEnabled()) {
             __log.debug("ODE initializing");
         }
-        if (_config.getThreadPoolMaxSize() == 0)
-            _executor = Executors.newCachedThreadPool();
-        else
-            _executor = 
Executors.newFixedThreadPool(_config.getThreadPoolMaxSize());
-
+        
         _bpelServer = new BpelServerImpl();
         _scheduler = createScheduler();
         _scheduler.setJobProcessor(_bpelServer);
@@ -177,15 +171,64 @@
     }
 
     public void stop() throws ODEShutdownException {
-        try {
-            _bpelServer.stop();
-        } catch (Exception ex) {
-            String errmsg = "An error occured during the ODE BPEL server 
shutdown.";
-            __log.error(errmsg, ex);
-            throw new ODEInitializationException(errmsg, ex);
+        if(_bpelServer != null) {
+            try {
+                __log.debug("Stopping BPEL Embedded server");
+                _bpelServer.shutdown();
+                _bpelServer = null;
+            } catch (Exception ex) {
+                __log.debug("Error stopping BPEL server");
+            }
+        }
+
+        if(_scheduler != null) {
+            try {
+                __log.debug("Stopping scheduler");
+                _scheduler.shutdown();
+                _scheduler = null;
+            } catch (Exception ex) {
+                __log.debug("Error stopping scheduler");
+            }
         }
         
-        _db.shutdown();
+        if(store != null) {
+            try {
+                __log.debug("Stopping store");
+                ((ProcessStoreImpl)store).shutdown();
+                store = null;
+            } catch (Exception ex) {
+                __log.debug("Error stopping store");
+            }
+        }
+        
+        if(_daoCF != null) {
+            try {
+                __log.debug("Stopping DAO");
+                _daoCF.shutdown();
+                _daoCF = null;
+            } catch (Exception ex) {
+                __log.debug("Error stopping DAO");
+            }
+        }
+        
+        if(_db != null) {
+            try {
+                __log.debug("Stopping DB");
+                _db.shutdown();
+                _db = null;
+            } catch (Exception ex) {
+                __log.debug("Error stopping DB");
+            }
+        }
+        
+        if(_txMgr != null) {
+            try {
+                __log.debug("Stopping Transaction Manager");
+                _txMgr = null;
+            } catch (Exception ex) {
+                __log.debug("Error stopping Transaction Manager");
+            }
+        }
     }
 
     protected Scheduler createScheduler() {
@@ -220,6 +263,8 @@
             throw new ODEDeploymentException(errMsg,ex);
         }
         
+
+        /* We are already registering the process on the "register" event
         try {
             for (QName procName : procs) {
                 ProcessConf conf = (ProcessConf) 
store.getProcessConfiguration(procName);
@@ -232,6 +277,7 @@
             __log.debug(errMsg , ex);
             throw new ODEDeploymentException(errMsg, ex);
         }
+        */
     }
     
     public void undeploy(ODEDeployment d) {

Modified: 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java?rev=610585&r1=610584&r2=610585&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java
 Wed Jan  9 13:48:14 2008
@@ -114,6 +114,8 @@
             odeServer.stop();
         }
         
+        txMgr = null;
+        
         System.out.println("Stopped !!!");
 
     }

Modified: 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java?rev=610585&r1=610584&r2=610585&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java
 Wed Jan  9 13:48:14 2008
@@ -27,6 +27,7 @@
 import org.apache.tuscany.sca.provider.ImplementationProvider;
 import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
+import org.osoa.sca.annotations.Destroy;
 
 /**
  * BPEL Implementation provider factory
@@ -57,5 +58,10 @@
     
     public Class<BPELImplementation> getModelType() {
         return BPELImplementation.class;
+    }
+    
+    @Destroy
+    public void destroy() {
+        txMgr = null;
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to