Return-Path: Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: (qmail 23785 invoked from network); 21 Dec 2009 22:08:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 21 Dec 2009 22:08:49 -0000 Received: (qmail 38479 invoked by uid 500); 21 Dec 2009 22:08:48 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 38405 invoked by uid 500); 21 Dec 2009 22:08:48 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 38396 invoked by uid 99); 21 Dec 2009 22:08:48 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Dec 2009 22:08:48 +0000 X-ASF-Spam-Status: No, hits=-3.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Dec 2009 22:08:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id A73412388A5F; Mon, 21 Dec 2009 22:08:21 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r893011 - in /cxf/trunk/rt: core/src/main/java/org/apache/cxf/interceptor/ management/src/main/java/org/apache/cxf/management/interceptor/ Date: Mon, 21 Dec 2009 22:08:21 -0000 To: commits@cxf.apache.org From: cleclerc@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091221220821.A73412388A5F@eris.apache.org> Author: cleclerc Date: Mon Dec 21 22:08:21 2009 New Revision: 893011 URL: http://svn.apache.org/viewvc?rev=893011&view=rev Log: [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/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java?rev=893011&r1=893010&r2=893011&view=diff ============================================================================== --- cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java (original) +++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java Mon Dec 21 22:08:21 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/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java?rev=893011&r1=893010&r2=893011&view=diff ============================================================================== --- cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java (original) +++ cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeFeature.java Mon Dec 21 22:08:21 2009 @@ -35,6 +35,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/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java?rev=893011&r1=893010&r2=893011&view=diff ============================================================================== --- cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java (original) +++ cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/ResponseTimeMessageInInterceptor.java Mon Dec 21 22:08:21 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 {