Author: asankha
Date: Mon Jan 15 22:16:18 2007
New Revision: 496605
URL: http://svn.apache.org/viewvc?view=rev&rev=496605
Log:
prepare to commit the new code for non blocking http based on the HttpCore
project and its NIO extensions
Removed:
webservices/synapse/trunk/java/modules/nhttp/pom.xml
webservices/synapse/trunk/java/modules/nhttp/src/
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?view=diff&rev=496605&r1=496604&r2=496605
==============================================================================
---
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
(original)
+++
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
Mon Jan 15 22:16:18 2007
@@ -139,6 +139,11 @@
serviceCtx, clientOptions);
mepClient.addMessageContext(axisOutMsgCtx);
+ // always set a callback as we decide if the send it blocking or non
blocking within
+ // the MEP client. This does not cause an overhead, as we simply
create a 'holder'
+ // object with a reference to the outgoing synapse message context
synapseOutMessageContext
+ mepClient.setCallback(new AsyncCallback(synapseOutMessageContext));
+
if (clientOptions.isUseSeparateListener()) {
mepClient.setCallback(new AsyncCallback(synapseOutMessageContext));
axisOutMsgCtx.getOperationContext().setProperty(
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java?view=diff&rev=496605&r1=496604&r2=496605
==============================================================================
---
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
(original)
+++
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
Mon Jan 15 22:16:18 2007
@@ -274,7 +274,19 @@
// that soapAction+wsa:Action on response don't
conflict
options.setAction("");
} else {
- if (block) {
+ // transports are expected to be blocking by default, hence
check if
+ // the outgoing transport explicitly states that its
non-blocking
+ // need to update the Axis2 transports with a better method to
indicate
+ // if they are non-blocking.
+ Parameter nonBlocking =
transportOut.getParameter("non-blocking");
+ if (nonBlocking != null &&
"true".equals(nonBlocking.getValue())) {
+ block = false;
+ // ie override the option passed in
+ }
+
+ if (block) {
+ this.setCallback(null);
+
// Send the SOAP Message and receive a
response
MessageContext response = send(mc);
// check for a fault and return the
result
@@ -292,6 +304,9 @@
}
completed = true;
} else {
+ SynapseCallbackReceiver callbackReceiver =
(SynapseCallbackReceiver) axisOp
+ .getMessageReceiver();
+
callbackReceiver.addCallback(mc.getMessageID(), callback);
sc.getConfigurationContext().getThreadPool().execute(
new
NonBlockingInvocationWorker(callback, mc));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]