You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cl...@apache.org on 2009/12/21 23:23:18 UTC
svn commit: r893013 - in /cxf/branches/2.2.x-fixes: ./
rt/core/src/main/java/org/apache/cxf/interceptor/
rt/management/src/main/java/org/apache/cxf/management/interceptor/
Author: cleclerc
Date: Mon Dec 21 22:23:17 2009
New Revision: 893013
URL: http://svn.apache.org/viewvc?rev=893013&view=rev
Log:
Merged revisions 893011 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r893011 | cleclerc | 2009-12-21 23:08:21 +0100 (Mon, 21 Dec 2009) | 4 lines
[CXF-2540] JMX ResponseTimeFeature does not count client side exceptions
- add FaultMode entry to the exchange in ClientFaultConverter
- Change ResponseTimeMessageInInterceptor phase registration from RECEIVE to POST_LOGICAL
- Register ResponseTimeMessageInInterceptor in the InFaultInterceptor list
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java
cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 21 22:23:17 2009
@@ -1 +1 @@
-/cxf/trunk:891375-891393,891452,891817,891827,891859,891945-891946,892056,892307,892360,892664,892890,892920,892953,892988
+/cxf/trunk:891375-891393,891452,891817,891827,891859,891945-891946,892056,892307,892360,892664,892890,892920,892953,892988,893011
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/ClientFaultConverter.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java?rev=893013&r1=893012&r2=893013&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java (original)
+++ cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java Mon Dec 21 22:23:17 2009
@@ -43,6 +43,7 @@
import org.apache.cxf.databinding.DataReader;
import org.apache.cxf.helpers.DOMUtils;
import org.apache.cxf.helpers.XPathUtils;
+import org.apache.cxf.message.FaultMode;
import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageUtils;
import org.apache.cxf.phase.AbstractPhaseInterceptor;
@@ -79,6 +80,22 @@
processFaultDetail(fault, msg);
setStackTrace(fault, msg);
}
+
+ FaultMode faultMode = FaultMode.UNCHECKED_APPLICATION_FAULT;
+
+ // Check if the raised exception is declared in the WSDL or by the JAX-RS resource
+ Method m = msg.getExchange().get(Method.class);
+ if (m != null) {
+ Exception e = msg.getContent(Exception.class);
+ for (Class<?> cl : m.getExceptionTypes()) {
+ if (cl.isInstance(e)) {
+ faultMode = FaultMode.CHECKED_APPLICATION_FAULT;
+ break;
+ }
+ }
+ }
+
+ msg.getExchange().put(FaultMode.class, faultMode);
}
protected void processFaultDetail(Fault fault, Message msg) {
Modified: cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java?rev=893013&r1=893012&r2=893013&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java (original)
+++ cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java Mon Dec 21 22:23:17 2009
@@ -33,6 +33,7 @@
@Override
protected void initializeProvider(InterceptorProvider provider, Bus bus) {
provider.getInInterceptors().add(IN);
+ provider.getInFaultInterceptors().add(IN);
provider.getInInterceptors().add(INVOKER);
provider.getOutInterceptors().add(OUT);
Modified: cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java?rev=893013&r1=893012&r2=893013&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java (original)
+++ cxf/branches/2.2.x-fixes/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java Mon Dec 21 22:23:17 2009
@@ -28,7 +28,7 @@
public class ResponseTimeMessageInInterceptor extends AbstractMessageResponseTimeInterceptor {
public ResponseTimeMessageInInterceptor() {
- super(Phase.RECEIVE);
+ super(Phase.POST_LOGICAL);
}
public void handleMessage(Message message) throws Fault {