You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/08/23 14:57:13 UTC
svn commit: r1376474 - in /camel/trunk/components/camel-cxf/src:
main/java/org/apache/camel/component/cxf/
main/java/org/apache/camel/component/cxf/blueprint/
main/java/org/apache/camel/component/cxf/jaxrs/
main/java/org/apache/camel/component/cxf/spri...
Author: ningjiang
Date: Thu Aug 23 12:57:12 2012
New Revision: 1376474
URL: http://svn.apache.org/viewvc?rev=1376474&view=rev
Log:
CAMEL-5538 Added skipFaultLogging option to disable the Fault logging in PhaseInterceptorChain
Added:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/NullFaultListener.java
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSClientFactoryBean.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSServerFactoryBean.java
camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointsRouterContext.xml
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringRouter.xml
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java Thu Aug 23 12:57:12 2012
@@ -82,6 +82,7 @@ import org.apache.cxf.jaxws.context.WebS
import org.apache.cxf.jaxws.handler.AnnotationHandlerChainBuilder;
import org.apache.cxf.jaxws.support.JaxWsEndpointImpl;
import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
+import org.apache.cxf.logging.FaultListener;
import org.apache.cxf.message.Attachment;
import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageContentsList;
@@ -133,6 +134,7 @@ public class CxfEndpoint extends Default
private String address;
private boolean mtomEnabled;
private boolean skipPayloadMessagePartCheck;
+ private boolean skipFaultLogging;
private Map<String, Object> properties;
private List<Interceptor<? extends Message>> in
= new ModCountCopyOnWriteArrayList<Interceptor<? extends Message>>();
@@ -311,6 +313,13 @@ public class CxfEndpoint extends Default
}
sfb.getProperties().put("soap.no.validate.parts", Boolean.TRUE);
}
+
+ if (this.isSkipFaultLogging()) {
+ if (sfb.getProperties() == null) {
+ sfb.setProperties(new HashMap<String, Object>());
+ }
+ sfb.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
sfb.setBus(getBus());
sfb.setStart(false);
@@ -476,6 +485,13 @@ public class CxfEndpoint extends Default
}
factoryBean.getProperties().put("soap.no.validate.parts", Boolean.TRUE);
}
+
+ if (this.isSkipFaultLogging()) {
+ if (factoryBean.getProperties() == null) {
+ factoryBean.setProperties(new HashMap<String, Object>());
+ }
+ factoryBean.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
factoryBean.setBus(getBus());
}
@@ -1032,6 +1048,14 @@ public class CxfEndpoint extends Default
return bindingConfig;
}
+ public boolean isSkipFaultLogging() {
+ return skipFaultLogging;
+ }
+
+ public void setSkipFaultLogging(boolean skipFaultLogging) {
+ this.skipFaultLogging = skipFaultLogging;
+ }
+
public void setBindingConfig(BindingConfiguration bindingConfig) {
this.bindingConfig = bindingConfig;
}
Added: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/NullFaultListener.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/NullFaultListener.java?rev=1376474&view=auto
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/NullFaultListener.java (added)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/NullFaultListener.java Thu Aug 23 12:57:12 2012
@@ -0,0 +1,30 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf;
+
+import org.apache.cxf.logging.FaultListener;
+import org.apache.cxf.message.Message;
+
+public class NullFaultListener implements FaultListener {
+
+ @Override
+ public boolean faultOccurred(Exception exception, String description, Message message) {
+ // will disable the default logging
+ return false;
+ }
+
+}
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java Thu Aug 23 12:57:12 2012
@@ -16,8 +16,12 @@
*/
package org.apache.camel.component.cxf.blueprint;
+import java.util.HashMap;
+
+import org.apache.camel.component.cxf.NullFaultListener;
import org.apache.cxf.feature.LoggingFeature;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
+import org.apache.cxf.logging.FaultListener;
import org.osgi.framework.BundleContext;
import org.osgi.service.blueprint.container.BlueprintContainer;
@@ -79,5 +83,14 @@ public class RsClientBlueprintBean exten
getFeatures().add(loggingFeature);
}
}
+
+ public void setSkipFaultLogging(boolean skipFaultLogging) {
+ if (skipFaultLogging) {
+ if (this.getProperties() == null) {
+ this.setProperties(new HashMap<String, Object>());
+ }
+ this.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
+ }
}
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java Thu Aug 23 12:57:12 2012
@@ -16,8 +16,12 @@
*/
package org.apache.camel.component.cxf.blueprint;
+import java.util.HashMap;
+
+import org.apache.camel.component.cxf.NullFaultListener;
import org.apache.cxf.feature.LoggingFeature;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.cxf.logging.FaultListener;
import org.osgi.framework.BundleContext;
import org.osgi.service.blueprint.container.BlueprintContainer;
@@ -81,4 +85,13 @@ public class RsServerBlueprintBean exten
}
}
+ public void setSkipFaultLogging(boolean skipFaultLogging) {
+ if (skipFaultLogging) {
+ if (this.getProperties() == null) {
+ this.setProperties(new HashMap<String, Object>());
+ }
+ this.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
+ }
+
}
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java Thu Aug 23 12:57:12 2012
@@ -68,6 +68,8 @@ public class CxfRsComponent extends Head
copy.putAll(bean.getProperties());
setProperties(answer, copy);
}
+ // setup the skipFaultLogging
+
} else {
// endpoint URI does not specify a bean
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java Thu Aug 23 12:57:12 2012
@@ -18,6 +18,7 @@ package org.apache.camel.component.cxf.j
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -29,6 +30,7 @@ import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.Service;
import org.apache.camel.component.cxf.CxfEndpointUtils;
+import org.apache.camel.component.cxf.NullFaultListener;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.spi.HeaderFilterStrategyAware;
@@ -38,6 +40,7 @@ import org.apache.cxf.BusFactory;
import org.apache.cxf.feature.LoggingFeature;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
+import org.apache.cxf.logging.FaultListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,6 +59,7 @@ public class CxfRsEndpoint extends Defau
private int maxClientCacheSize = 10;
private boolean loggingFeatureEnabled;
private int loggingSizeLimit;
+ private boolean skipFaultLogging;
private AtomicBoolean getBusHasBeenCalled = new AtomicBoolean(false);
@@ -126,6 +130,14 @@ public class CxfRsEndpoint extends Defau
return binding;
}
+ public boolean isSkipFaultLogging() {
+ return skipFaultLogging;
+ }
+
+ public void setSkipFaultLogging(boolean skipFaultLogging) {
+ this.skipFaultLogging = skipFaultLogging;
+ }
+
protected void checkBeanType(Object object, Class<?> clazz) {
if (!clazz.isAssignableFrom(object.getClass())) {
throw new IllegalArgumentException("The configure bean is not the instance of " + clazz.getName());
@@ -164,6 +176,12 @@ public class CxfRsEndpoint extends Defau
cfb.getFeatures().add(new LoggingFeature());
}
}
+ if (this.isSkipFaultLogging()) {
+ if (cfb.getProperties() == null) {
+ cfb.setProperties(new HashMap<String, Object>());
+ }
+ cfb.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
cfb.setThreadSafe(true);
}
@@ -198,6 +216,12 @@ public class CxfRsEndpoint extends Defau
answer.getFeatures().add(new LoggingFeature());
}
}
+ if (this.isSkipFaultLogging()) {
+ if (answer.getProperties() == null) {
+ answer.setProperties(new HashMap<String, Object>());
+ }
+ answer.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
return answer;
}
@@ -216,6 +240,12 @@ public class CxfRsEndpoint extends Defau
answer.getFeatures().add(new LoggingFeature());
}
}
+ if (this.isSkipFaultLogging()) {
+ if (answer.getProperties() == null) {
+ answer.setProperties(new HashMap<String, Object>());
+ }
+ answer.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
return answer;
}
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSClientFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSClientFactoryBean.java?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSClientFactoryBean.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSClientFactoryBean.java Thu Aug 23 12:57:12 2012
@@ -16,14 +16,17 @@
*/
package org.apache.camel.component.cxf.spring;
+import java.util.HashMap;
import java.util.List;
+import org.apache.camel.component.cxf.NullFaultListener;
import org.apache.camel.component.cxf.jaxrs.BeanIdAware;
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor;
import org.apache.cxf.bus.spring.SpringBusFactory;
import org.apache.cxf.feature.LoggingFeature;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
+import org.apache.cxf.logging.FaultListener;
import org.apache.cxf.version.Version;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
@@ -101,8 +104,17 @@ public class SpringJAXRSClientFactoryBea
beanId = id;
}
- // add this mothod for testing
+ // add this method for testing
List<String> getSchemaLocations() {
return schemaLocations;
}
+
+ public void setSkipFaultLogging(boolean skipFaultLogging) {
+ if (skipFaultLogging) {
+ if (this.getProperties() == null) {
+ this.setProperties(new HashMap<String, Object>());
+ }
+ this.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
+ }
}
\ No newline at end of file
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSServerFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSServerFactoryBean.java?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSServerFactoryBean.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/SpringJAXRSServerFactoryBean.java Thu Aug 23 12:57:12 2012
@@ -16,8 +16,10 @@
*/
package org.apache.camel.component.cxf.spring;
+import java.util.HashMap;
import java.util.List;
+import org.apache.camel.component.cxf.NullFaultListener;
import org.apache.camel.component.cxf.jaxrs.BeanIdAware;
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor;
@@ -25,6 +27,7 @@ import org.apache.cxf.bus.spring.SpringB
import org.apache.cxf.feature.LoggingFeature;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.JAXRSServiceFactoryBean;
+import org.apache.cxf.logging.FaultListener;
import org.apache.cxf.version.Version;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
@@ -106,5 +109,14 @@ public class SpringJAXRSServerFactoryBea
}
getFeatures().add(loggingFeature);
}
- }
+ }
+
+ public void setSkipFaultLogging(boolean skipFaultLogging) {
+ if (skipFaultLogging) {
+ if (this.getProperties() == null) {
+ this.setProperties(new HashMap<String, Object>());
+ }
+ this.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
+ }
+ }
}
\ No newline at end of file
Modified: camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd (original)
+++ camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd Thu Aug 23 12:57:12 2012
@@ -57,6 +57,7 @@
<xsd:attribute name="serviceName" type="xsd:string" />
<xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
<xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
+ <xsd:attribute name="skipFaultLogging" type="xsd:boolean" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
@@ -94,6 +95,7 @@
<xsd:attribute name="staticSubresourceResolution" type="xsd:boolean" />
<xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
<xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
+ <xsd:attribute name="skipFaultLogging" type="xsd:boolean" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
@@ -130,6 +132,7 @@
<xsd:attribute name="password" type="xsd:string"/>
<xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
<xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
+ <xsd:attribute name="skipFaultLogging" type="xsd:boolean" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
Modified: camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointsRouterContext.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointsRouterContext.xml?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointsRouterContext.xml (original)
+++ camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointsRouterContext.xml Thu Aug 23 12:57:12 2012
@@ -31,7 +31,8 @@
<!-- START SNIPPET: example -->
<cxf:cxfEndpoint id="routerEndpoint" address="http://localhost:${CXFTestSupport.port2}/CXFGreeterRouterTest/CamelContext/RouterPort"
- serviceClass="org.apache.hello_world_soap_http.GreeterImpl">
+ serviceClass="org.apache.hello_world_soap_http.GreeterImpl"
+ skipFaultLogging="true">
<cxf:outInterceptors>
<!-- This interceptor will force the CXF server send the XML start document to client -->
<bean class="org.apache.camel.component.cxf.WriteXmlDeclarationInterceptor"/>
Modified: camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringRouter.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringRouter.xml?rev=1376474&r1=1376473&r2=1376474&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringRouter.xml (original)
+++ camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringRouter.xml Thu Aug 23 12:57:12 2012
@@ -45,12 +45,12 @@
<!-- Defined the server endpoint to create the cxf-rs consumer -->
<cxf:rsServer id="rsServer" address="http://localhost:${CXFTestSupport.port1}/CxfRsRouterTest/route"
serviceClass="org.apache.camel.component.cxf.jaxrs.testbean.CustomerService"
- loggingFeatureEnabled="true" loggingSizeLimit="20"/>
+ loggingFeatureEnabled="true" loggingSizeLimit="20" skipFaultLogging="true"/>
<!-- Defined the client endpoint to create the cxf-rs consumer -->
<cxf:rsClient id="rsClient" address="http://localhost:${CXFTestSupport.port2}/CxfRsRouterTest/rest"
serviceClass="org.apache.camel.component.cxf.jaxrs.testbean.CustomerService"
- loggingFeatureEnabled="true" />
+ loggingFeatureEnabled="true" skipFaultLogging="true"/>
<!-- The camel route context -->
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">