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 2012/05/11 19:35:28 UTC
svn commit: r1337293 - in /cxf/trunk:
api/src/main/java/org/apache/cxf/interceptor/
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/
rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/
rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/
Author: dkulp
Date: Fri May 11 17:35:27 2012
New Revision: 1337293
URL: http://svn.apache.org/viewvc?rev=1337293&view=rev
Log:
[CXF-4312] Similar issue on the server side about having an executor set
by default. Not needed if the rest of the code guards against NPE
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java
cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java
cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java?rev=1337293&r1=1337292&r2=1337293&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java Fri May 11 17:35:27 2012
@@ -88,7 +88,8 @@ public class ServiceInvokerInterceptor e
};
Executor executor = getExecutor(endpoint);
- if (exchange.get(Executor.class) == executor) {
+ Executor executor2 = exchange.get(Executor.class);
+ if (executor2 == executor || executor == null) {
// already executing on the appropriate executor
invocation.run();
} else {
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java?rev=1337293&r1=1337292&r2=1337293&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java Fri May 11 17:35:27 2012
@@ -50,7 +50,6 @@ import org.apache.cxf.service.model.Mess
import org.apache.cxf.service.model.MessagePartInfo;
import org.apache.cxf.service.model.OperationInfo;
import org.apache.cxf.service.model.ServiceInfo;
-import org.apache.cxf.workqueue.SynchronousExecutor;
/**
* The CXF Service implementation which is used
@@ -74,7 +73,6 @@ public class JAXRSServiceImpl extends Ab
public JAXRSServiceImpl(List<ClassResourceInfo> cri, QName qname) {
this.classResourceInfos = cri;
- executor = SynchronousExecutor.getInstance();
this.serviceName = qname;
}
Modified: cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java?rev=1337293&r1=1337292&r2=1337293&view=diff
==============================================================================
--- cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java (original)
+++ cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java Fri May 11 17:35:27 2012
@@ -22,6 +22,7 @@ package org.apache.cxf.ws.rm;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.Executor;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -41,6 +42,7 @@ import org.apache.cxf.service.model.Endp
import org.apache.cxf.service.model.InterfaceInfo;
import org.apache.cxf.service.model.OperationInfo;
import org.apache.cxf.transport.Conduit;
+import org.apache.cxf.workqueue.SynchronousExecutor;
import org.apache.cxf.ws.addressing.AttributedURIType;
import org.apache.cxf.ws.addressing.EndpointReferenceType;
import org.apache.cxf.ws.addressing.RelatesToType;
@@ -169,7 +171,11 @@ public class Proxy {
}
}
};
- reliableEndpoint.getApplicationEndpoint().getExecutor().execute(r);
+ Executor ex = reliableEndpoint.getApplicationEndpoint().getExecutor();
+ if (ex == null) {
+ ex = SynchronousExecutor.getInstance();
+ }
+ ex.execute(r);
return null;
}
Modified: cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java?rev=1337293&r1=1337292&r2=1337293&view=diff
==============================================================================
--- cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java (original)
+++ cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java Fri May 11 17:35:27 2012
@@ -49,6 +49,7 @@ import org.apache.cxf.message.MessageUti
import org.apache.cxf.service.model.EndpointInfo;
import org.apache.cxf.transport.Conduit;
import org.apache.cxf.transport.MessageObserver;
+import org.apache.cxf.workqueue.SynchronousExecutor;
import org.apache.cxf.ws.addressing.AddressingProperties;
import org.apache.cxf.ws.addressing.AttributedURIType;
import org.apache.cxf.ws.addressing.EndpointReferenceType;
@@ -527,7 +528,11 @@ public class RetransmissionQueueImpl imp
Executor executor = ep.getExecutor();
if (null == executor) {
executor = ep.getService().getExecutor();
- LOG.log(Level.FINE, "Using service executor {0}", executor.getClass().getName());
+ if (executor == null) {
+ executor = SynchronousExecutor.getInstance();
+ } else {
+ LOG.log(Level.FINE, "Using service executor {0}", executor.getClass().getName());
+ }
} else {
LOG.log(Level.FINE, "Using endpoint executor {0}", executor.getClass().getName());
}