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() {