You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2011/10/13 23:07:46 UTC
svn commit: r1183100 - in /cxf/branches/2.3.x-fixes: ./
rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
Author: dkulp
Date: Thu Oct 13 21:07:46 2011
New Revision: 1183100
URL: http://svn.apache.org/viewvc?rev=1183100&view=rev
Log:
Merged revisions 1183089 via svnmerge from
https://svn.us.apache.org/repos/asf/cxf/branches/2.4.x-fixes
................
r1183089 | dkulp | 2011-10-13 16:55:24 -0400 (Thu, 13 Oct 2011) | 10 lines
Merged revisions 1183088 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1183088 | dkulp | 2011-10-13 16:52:53 -0400 (Thu, 13 Oct 2011) | 2 lines
If the workqueue for the http-conduit async calls is full, try to submit
it for a few seconds before just handling it synchronously.
........
................
Modified:
cxf/branches/2.3.x-fixes/ (props changed)
cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=1183100&r1=1183099&r2=1183100&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java (original)
+++ cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java Thu Oct 13 21:07:46 2011
@@ -86,6 +86,7 @@ import org.apache.cxf.transport.https.Ce
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
import org.apache.cxf.transports.http.configuration.ProxyServerType;
import org.apache.cxf.version.Version;
+import org.apache.cxf.workqueue.AutomaticWorkQueue;
import org.apache.cxf.workqueue.WorkQueueManager;
import org.apache.cxf.ws.addressing.EndpointReferenceType;
import org.apache.cxf.ws.policy.Assertor;
@@ -2251,20 +2252,21 @@ public class HTTPConduit
}
}
};
- Executor ex = outMessage.getExchange().get(Executor.class);
- if (ex == null) {
- WorkQueueManager mgr = outMessage.getExchange().get(Bus.class)
- .getExtension(WorkQueueManager.class);
- ex = mgr.getNamedWorkQueue("http-conduit");
+ try {
+ Executor ex = outMessage.getExchange().get(Executor.class);
if (ex == null) {
- ex = mgr.getAutomaticWorkQueue();
- }
- } else {
- outMessage.getExchange().put(Executor.class.getName()
+ WorkQueueManager mgr = outMessage.getExchange().get(Bus.class)
+ .getExtension(WorkQueueManager.class);
+ AutomaticWorkQueue qu = mgr.getNamedWorkQueue("http-conduit");
+ if (ex == null) {
+ qu = mgr.getAutomaticWorkQueue();
+ }
+ qu.execute(runnable, 5000);
+ } else {
+ outMessage.getExchange().put(Executor.class.getName()
+ ".USING_SPECIFIED", Boolean.TRUE);
- }
- try {
- ex.execute(runnable);
+ ex.execute(runnable);
+ }
} catch (RejectedExecutionException rex) {
LOG.warning("EXECUTOR_FULL");
handleResponseInternal();