You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by sa...@apache.org on 2016/02/17 21:54:33 UTC
ode git commit: ODE-974: Match the CorrelationSet in enqueued message
with actual CorrelationSet defined for the IMA
Repository: ode
Updated Branches:
refs/heads/ode-1.3.x a56446717 -> fd90d7194
ODE-974: Match the CorrelationSet in enqueued message with actual CorrelationSet defined for the IMA
Project: http://git-wip-us.apache.org/repos/asf/ode/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/fd90d719
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/fd90d719
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/fd90d719
Branch: refs/heads/ode-1.3.x
Commit: fd90d719487c5dab48bed05207b8c25deeea8e45
Parents: a564467
Author: sathwik <sa...@apache.org>
Authored: Thu Feb 18 02:24:13 2016 +0530
Committer: sathwik <sa...@apache.org>
Committed: Thu Feb 18 02:24:13 2016 +0530
----------------------------------------------------------------------
.../ode/daohib/bpel/CorrelatorDaoImpl.java | 26 ++++++++++++++------
1 file changed, 18 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ode/blob/fd90d719/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
----------------------------------------------------------------------
diff --git a/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java b/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
index 11aaf6b..3f530cf 100644
--- a/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
+++ b/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
@@ -71,9 +71,9 @@ class CorrelatorDaoImpl extends HibernateDao implements CorrelatorDAO {
entering("CorrelatorDaoImpl.dequeueMessage");
MessageExchangeDAO mex = null;
+ CorrelationKeySet keyInLoop;
- String hdr = "dequeueMessage(" + keySet + "): ";
- __log.debug(hdr);
+ __log.debug("dequeueMessage({}): ",keySet);
List<CorrelationKeySet> subSets = keySet.findSubSets();
Query qry = getSession().createFilter(_hobj.getMessageCorrelations(),
@@ -93,13 +93,23 @@ class CorrelatorDaoImpl extends HibernateDao implements CorrelatorDAO {
}
try {
if (!mcors.hasNext()) {
- if (__log.isDebugEnabled())
- __log.debug(hdr + "did not find a MESSAGE entry.");
+ __log.debug("dequeueMessage({}): did not find a MESSAGE entry.",keySet);
} else {
- HCorrelatorMessage mcor = (HCorrelatorMessage) mcors.next();
- if (__log.isDebugEnabled())
- __log.debug(hdr + "found MESSAGE entry " + mcor.getMessageExchange());
- mex = new MessageExchangeDaoImpl(_sm, mcor.getMessageExchange());
+ boolean keysNotMatched = true;
+
+ for( ; mcors.hasNext() && keysNotMatched ; ) {
+ HCorrelatorMessage mcor = (HCorrelatorMessage) mcors.next();
+ keyInLoop = new CorrelationKeySet(mcor.getCorrelationKey());
+
+ __log.debug("KeySet in enqueued message is {} and KeySet to be dequeued {}",keyInLoop,keySet);
+
+ if(keyInLoop.isRoutableTo(keySet, false)) {
+ __log.debug("dequeueMessage({}): found MESSAGE entry {}", keySet, mcor.getMessageExchange());
+
+ mex = new MessageExchangeDaoImpl(_sm, mcor.getMessageExchange());
+ keysNotMatched = false;
+ }
+ }
}
} finally {
Hibernate.close(mcors);