Author: mriou
Date: Wed Aug 16 09:52:42 2006
New Revision: 431943
URL: http://svn.apache.org/viewvc?rev=431943&view=rev
Log:
Fixed a bug in routing.
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java?rev=431943&r1=431942&r2=431943&view=diff
==============================================================================
---
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
(original)
+++
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
Wed Aug 16 09:52:42 2006
@@ -19,15 +19,6 @@
package org.apache.ode.bpel.engine;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.dao.MessageExchangeDAO;
@@ -38,15 +29,23 @@
import org.apache.ode.bpel.iapi.Endpoint;
import org.apache.ode.bpel.iapi.Message;
import org.apache.ode.bpel.iapi.MessageExchange;
-import org.apache.ode.bpel.iapi.MessageExchangeInterceptor;
-import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
import org.apache.ode.bpel.iapi.MessageExchange.MessageExchangePattern;
import org.apache.ode.bpel.iapi.MessageExchange.Status;
+import org.apache.ode.bpel.iapi.MessageExchangeInterceptor;
+import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
import org.apache.ode.bpel.iapi.MyRoleMessageExchange.CorrelationStatus;
import org.apache.ode.bpel.o.OPartnerLink;
import org.apache.ode.bpel.o.OProcess;
import org.apache.ode.utils.msg.MessageBundle;
+import javax.wsdl.Operation;
+import javax.wsdl.PortType;
+import javax.xml.namespace.QName;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* Implementation of the [EMAIL PROTECTED] BpelEngine} interface: provides the
server
* methods that should be invoked in the context of a transaction.
@@ -158,7 +157,6 @@
* the process to register
*/
void registerProcess(BpelProcess process) {
-
_activeProcesses.put(process.getPID(), process);
for (Endpoint e : process.getServiceNames()) {
__log.debug("Register process: serviceId=" + e + ", process=" +
process);
@@ -181,10 +179,13 @@
*/
BpelProcess route(QName service, Message request) {
// TODO: use the message to route to the correct service if more than
- // one
- // service is listening on the same endpoint.
+ // one service is listening on the same endpoint.
- BpelProcess routed = _serviceMap.get(service);
+ BpelProcess routed = null;
+ for (Endpoint endpoint : _serviceMap.keySet()) {
+ if (endpoint.serviceName.equals(service))
+ routed = _serviceMap.get(endpoint);
+ }
if (__log.isDebugEnabled())
__log.debug("Routed: svcQname " + service + " --> " + routed);
return routed;