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);