Author: boisvert
Date: Fri Aug  7 22:27:03 2009
New Revision: 802257

URL: http://svn.apache.org/viewvc?rev=802257&view=rev
Log:
ODE-644: INTERNAL ERROR: No ENTRY for RESPONSE CHANNEL [xy]

Modified:
    
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
    
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java

Modified: 
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java?rev=802257&r1=802256&r2=802257&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
 Fri Aug  7 22:27:03 2009
@@ -35,6 +35,7 @@
 import org.hibernate.Hibernate;
 import org.hibernate.LockMode;
 import org.hibernate.Query;
+import org.hibernate.Session;
 
 import javax.xml.namespace.QName;
 
@@ -240,10 +241,12 @@
         entering("CorrelatorDaoImpl.removeRoutes");
         String hdr = "removeRoutes(" + routeGroupId + ", iid=" + 
target.getInstanceId() + "): ";
         __log.debug(hdr);
-        Query q = getSession().createQuery(QRY_DELSELECTORS);
+        Session session = getSession();
+        Query q = session.createQuery(QRY_DELSELECTORS);
         q.setString(0, routeGroupId); // groupId
         q.setEntity(1, ((ProcessInstanceDaoImpl) target).getHibernateObj()); 
// instance
         int updates = q.executeUpdate();
+        session.flush(); // explicit flush to ensure route removed
         if (__log.isDebugEnabled())
             __log.debug(hdr + "deleted " + updates + " rows");
     }

Modified: 
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java?rev=802257&r1=802256&r2=802257&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
 Fri Aug  7 22:27:03 2009
@@ -150,13 +150,18 @@
     }
 
     void removeLocalRoutes(String routeGroupId, ProcessInstanceDAO target) {
+        boolean flush = false;
         for (Iterator<MessageRouteDAOImpl> itr=_routes.iterator(); 
itr.hasNext(); ) {
             MessageRouteDAOImpl mr = itr.next();
             if ( mr.getGroupId().equals(routeGroupId) && 
mr.getTargetInstance().equals(target)) {
                 itr.remove();
                 getEM().remove(mr);
+                flush = true;
             }
         }
+        if (flush) {
+            getEM().flush();
+        }
     }
 
     public Collection<MessageRouteDAO> getAllRoutes() {


Reply via email to