You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mi...@apache.org on 2009/04/15 03:26:39 UTC
svn commit: r765029 - in
/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2:
SoapExternalService.java httpbinding/HttpExternalService.java
Author: midon
Date: Wed Apr 15 01:26:39 2009
New Revision: 765029
URL: http://svn.apache.org/viewvc?rev=765029&view=rev
Log:
ODE-577: no need to execute transactions in a separate thread
Modified:
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/SoapExternalService.java
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
Modified: ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/SoapExternalService.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/SoapExternalService.java?rev=765029&r1=765028&r2=765029&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/SoapExternalService.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/SoapExternalService.java Wed Apr 15 01:26:39 2009
@@ -208,19 +208,20 @@
__log.debug("Service response:\n" + response.getEnvelope().toString());
if (flt != null) {
- reply(mexId, operation, flt, true, mctx);
+ reply(mexId, operation, flt, true);
} else {
- reply(mexId, operation, response, response.isFault(), mctx);
+ reply(mexId, operation, response, response.isFault());
}
} catch (Throwable t) {
+ String errmsg = "Error sending message (mex=" + odeMex + "): " + t.getMessage();
+ __log.error(errmsg, t);
+ replyWithFailure(mexId, MessageExchange.FailureType.COMMUNICATION_ERROR, errmsg);
+ } finally {
// release the HTTP connection, we don't need it anymore
TransportOutDescription out = mctx.getTransportOut();
if (out != null && out.getSender() != null) {
out.getSender().cleanup(mctx);
}
- String errmsg = "Error sending message (mex=" + odeMex + "): " + t.getMessage();
- __log.error(errmsg, t);
- replyWithFailure(mexId, MessageExchange.FailureType.COMMUNICATION_ERROR, errmsg);
}
return null;
}
@@ -445,7 +446,7 @@
private void replyWithFailure(final String odeMexId, final FailureType error, final String errmsg) {
// ODE MEX needs to be invoked in a TX.
try {
- _sched.execIsolatedTransaction(new Callable<Void>() {
+ _sched.execTransaction(new Callable<Void>() {
public Void call() throws Exception {
PartnerRoleMessageExchange odeMex = (PartnerRoleMessageExchange) _server.getEngine().getMessageExchange(odeMexId);
odeMex.replyWithFailure(error, errmsg, null);
@@ -456,15 +457,13 @@
} catch (Exception e) {
String emsg = "Error executing replyWithFailure transaction; reply will be lost.";
__log.error(emsg, e);
-
}
-
}
- private void reply(final String odeMexId, final Operation operation, final MessageContext reply, final boolean isFault, final MessageContext outMsgContext) {
+ private void reply(final String odeMexId, final Operation operation, final MessageContext reply, final boolean isFault) {
// ODE MEX needs to be invoked in a TX.
try {
- _sched.execIsolatedTransaction(new Callable<Void>() {
+ _sched.execTransaction(new Callable<Void>() {
public Void call() throws Exception {
PartnerRoleMessageExchange odeMex = (PartnerRoleMessageExchange) _server.getEngine().getMessageExchange(odeMexId);
// Setting the response
@@ -506,12 +505,6 @@
String errmsg = "Unable to process response: " + ex.getMessage();
__log.error(errmsg, ex);
odeMex.replyWithFailure(FailureType.OTHER, errmsg, null);
- } finally {
- // make sure the HTTP connection is released to the pool!
- TransportOutDescription out = outMsgContext.getTransportOut();
- if (out != null && out.getSender() != null) {
- out.getSender().cleanup(outMsgContext);
- }
}
return null;
}
@@ -521,7 +514,6 @@
String errmsg = "Error executing reply transaction; reply will be lost.";
__log.error(errmsg, e);
}
-
}
Modified: ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java?rev=765029&r1=765028&r2=765029&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java Wed Apr 15 01:26:39 2009
@@ -253,7 +253,7 @@
} catch (final IOException e) {
// ODE MEX needs to be invoked in a TX.
try {
- scheduler.execIsolatedTransaction(new Callable<Void>() {
+ scheduler.execTransaction(new Callable<Void>() {
public Void call() throws Exception {
PartnerRoleMessageExchange odeMex = (PartnerRoleMessageExchange) server.getEngine().getMessageExchange(mexId);
String errmsg = "Unable to execute http request : " + e.getMessage();
@@ -297,7 +297,7 @@
public void processResponse(final int statusCode) {
// ODE MEX needs to be invoked in a TX.
try {
- scheduler.execIsolatedTransaction(new Callable<Void>() {
+ scheduler.execTransaction(new Callable<Void>() {
public Void call() throws Exception {
try {
if (statusCode >= 200 && statusCode < 300) {