Author: seanahn
Date: Thu Apr 30 21:36:05 2009
New Revision: 770456
URL: http://svn.apache.org/viewvc?rev=770456&view=rev
Log:
sometimes mex is deleted too early
Modified:
ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
Modified:
ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java?rev=770456&r1=770455&r2=770456&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java
Thu Apr 30 21:36:05 2009
@@ -246,4 +246,8 @@
void release(boolean doClean);
+ /**
+ * Deletes messages that arrived before the route is setup
+ */
+ void releasePremieMessages();
}
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java?rev=770456&r1=770455&r2=770456&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
Thu Apr 30 21:36:05 2009
@@ -1386,6 +1386,10 @@
if (mexdao != null) {
__log.debug("MatcherEvent handling: found matching message in DB
(i.e. message arrived before <receive>)");
+ if(
MessageExchangePattern.REQUEST_RESPONSE.toString().equals(mexdao.getPattern()))
{
+ __log.warn("A message arrived before a receive is ready for a
request/response pattern. This may be processed to success. However, you should
consider revising your process since this may cause performance degradataion");
+ }
+
Set<String> groupIds = new HashSet<String>();
for (MessageRouteDAO mroute : mroutes) {
// We have a match, so we can get rid of the routing
entries.
@@ -1408,7 +1412,7 @@
// Do not release yet if the process is suspended, the mex will be
used again
if (_dao.getState() != ProcessState.STATE_SUSPENDED)
- mexdao.release(true);
+ mexdao.releasePremieMessages();
} else {
__log.debug("MatcherEvent handling: nothing to do, no matching
message in DB");
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java?rev=770456&r1=770455&r2=770456&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java
Thu Apr 30 21:36:05 2009
@@ -293,6 +293,10 @@
BpelDAOConnectionImpl.removeMessageExchange(getMessageExchangeId());
}
+ public void releasePremieMessages() {
+ // do nothing; early messages are deleted during
CorrelatorDaoImpl().dequeueMessage()
+ }
+
public String toString() {
return "mem.mex(direction=" + direction + " id=" + messageExchangeId +
")";
}
Modified:
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java?rev=770456&r1=770455&r2=770456&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
(original)
+++
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
Thu Apr 30 21:36:05 2009
@@ -357,6 +357,11 @@
}
}
+ public void releasePremieMessages() {
+
getSession().getNamedQuery(HLargeData.DELETE_MESSAGE_LDATA_BY_MEX).setParameter("mex",
_hself).executeUpdate();
+
getSession().getNamedQuery(HCorrelatorMessage.DELETE_CORMESSAGES_BY_MEX).setParameter("mex",
_hself).executeUpdate();
+ }
+
public void incrementSubscriberCount() {
_hself.incrementSubscriberCount();
}
Modified:
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java?rev=770456&r1=770455&r2=770456&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
(original)
+++
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
Thu Apr 30 21:36:05 2009
@@ -343,7 +343,11 @@
}
}
- public void deleteMessages() {
+ public void releasePremieMessages() {
+ // do nothing; early messages are deleted during
CorrelatorDaoImpl().dequeueMessage()
+ }
+
+ public void deleteMessages() {
if( __log.isDebugEnabled() ) __log.debug("Deleting message on
MEX release.");
getEM().remove(this); // This deletes MexProperty, REQUEST
MessageDAO, RESPONSE MessageDAO
@@ -372,5 +376,4 @@
public void release() {
// no-op for now, could be used to do some cleanup
}
-
}