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 2009/10/29 15:55:07 UTC
svn commit: r830982 - in /cxf/branches/2.2.x-fixes: ./
rt/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java
rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
Author: dkulp
Date: Thu Oct 29 14:55:07 2009
New Revision: 830982
URL: http://svn.apache.org/viewvc?rev=830982&view=rev
Log:
Merged revisions 830968 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r830968 | dkulp | 2009-10-29 10:41:19 -0400 (Thu, 29 Oct 2009) | 2 lines
[CXF-1282, CXF-1283] Fix a bug where setting an executor may result in a
hang.
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java?rev=830982&r1=830981&r2=830982&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java (original)
+++ cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java Thu Oct 29 14:55:07 2009
@@ -93,7 +93,15 @@
invocation.run();
} else {
exchange.put(Executor.class, executor);
- FutureTask<Object> o = new FutureTask<Object>(invocation, null);
+ FutureTask<Object> o = new FutureTask<Object>(invocation, null) {
+ @Override
+ protected void done() {
+ super.done();
+ synchronized (this) {
+ this.notifyAll();
+ }
+ }
+ };
synchronized (o) {
executor.execute(o);
if (!exchange.isOneWay()) {
Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java?rev=830982&r1=830981&r2=830982&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java Thu Oct 29 14:55:07 2009
@@ -22,6 +22,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.concurrent.Executor;
import javax.wsdl.Definition;
import javax.wsdl.factory.WSDLFactory;
@@ -144,6 +145,11 @@
Hello service = new Hello();
EndpointImpl ep = new EndpointImpl(getBus(), service, (String) null);
+ ep.setExecutor(new Executor() {
+ public void execute(Runnable r) {
+ new Thread(r).start();
+ }
+ });
ep.publish("local://localhost:9090/hello");
Node res = invoke("local://localhost:9090/hello",