Author: boisvert
Date: Fri Aug 7 22:28:14 2009
New Revision: 802258
URL: http://svn.apache.org/viewvc?rev=802258&view=rev
Log:
ODE-644: INTERNAL ERROR: No ENTRY for RESPONSE CHANNEL [xy]
Modified:
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
Modified:
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java?rev=802258&r1=802257&r2=802258&view=diff
==============================================================================
---
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
(original)
+++
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
Fri Aug 7 22:28:14 2009
@@ -39,6 +39,7 @@
import org.hibernate.Hibernate;
import org.hibernate.LockMode;
import org.hibernate.Query;
+import org.hibernate.Session;
import javax.xml.namespace.QName;
@@ -219,10 +220,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
__log.debug(hdr + "deleted " + updates + " rows");
}
Modified:
ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java?rev=802258&r1=802257&r2=802258&view=diff
==============================================================================
---
ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
(original)
+++
ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
Fri Aug 7 22:28:14 2009
@@ -111,12 +111,17 @@
}
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();
+ }
}
}