Author: mriou
Date: Wed Feb 14 09:18:53 2007
New Revision: 507633

URL: http://svn.apache.org/viewvc?view=rev&rev=507633
Log:
Fixing in-memory processes.

Modified:
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?view=diff&rev=507633&r1=507632&r2=507633
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
 Wed Feb 14 09:18:53 2007
@@ -377,9 +377,9 @@
     public void hydrated(final BpelProcess process) {
         // Recreating the process DAO if the definition has changed, shouldn't 
do anything
         // except after a redeploy
-        if (_contexts.scheduler.isTransacted())
-            bounceProcessDAO(_contexts.dao.getConnection(), process.getPID(),
-                    process._pconf.getVersion(), process.getOProcess());
+        if (_contexts.scheduler.isTransacted() || process.isInMemory())
+            bounceProcessDAO(process.isInMemory() ? 
_contexts.inMemDao.getConnection() : _contexts.dao.getConnection(),
+                    process.getPID(), process._pconf.getVersion(), 
process.getOProcess());
         else {
             try {
                 _db.exec(new BpelDatabase.Callable<Object>() {

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java?view=diff&rev=507633&r1=507632&r2=507633
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
 Wed Feb 14 09:18:53 2007
@@ -21,11 +21,7 @@
 
 import org.apache.ode.bpel.dao.MessageExchangeDAO;
 import org.apache.ode.bpel.engine.WorkEvent.Type;
-import org.apache.ode.bpel.iapi.BpelEngineException;
-import org.apache.ode.bpel.iapi.EndpointReference;
-import org.apache.ode.bpel.iapi.Message;
-import org.apache.ode.bpel.iapi.PartnerRoleChannel;
-import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
+import org.apache.ode.bpel.iapi.*;
 import org.w3c.dom.Element;
 
 import javax.wsdl.Operation;
@@ -66,6 +62,7 @@
     public void reply(Message response) throws BpelEngineException {
         boolean isAsync = isAsync();
         setResponse(response);
+        System.out.println("#### REPLY ASYNC " + isAsync);
         if (isAsync)
             continueAsync();
 
@@ -90,6 +87,8 @@
         WorkEvent we = new WorkEvent();
         we.setIID(getDAO().getInstance().getInstanceId());
         we.setType(Type.INVOKE_RESPONSE);
+        if 
(_engine._activeProcesses.get(getDAO().getProcess().getProcessId()).isInMemory())
+            we.setInMem(true);
         we.setChannel(getDAO().getChannel());
         we.setMexId(getDAO().getMessageExchangeId());
         _engine._contexts.scheduler.schedulePersistedJob(we.getDetail(), null);


Reply via email to