Author: wtam Date: Sat Oct 22 05:02:52 2011 New Revision: 1187651 URL: http://svn.apache.org/viewvc?rev=1187651&view=rev Log: Make CxfRsEndpoint implement Serivce so that it is consistent with CxfEndpoint. Cleanup header/binding strategy setters/getters
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java 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=1187651&r1=1187650&r2=1187651&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 Sat Oct 22 05:02:52 2011 @@ -26,6 +26,7 @@ import org.apache.camel.Component; import org.apache.camel.Consumer; 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.impl.DefaultEndpoint; import org.apache.camel.spi.HeaderFilterStrategy; @@ -38,7 +39,7 @@ import org.apache.cxf.jaxrs.client.JAXRS import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware { +public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, Service { private static final Logger LOG = LoggerFactory.getLogger(CxfRsEndpoint.class); protected Bus bus; @@ -52,7 +53,6 @@ public class CxfRsEndpoint extends Defau private boolean throwExceptionOnFailure = true; private int maxClientCacheSize = 10; - private AtomicBoolean bindingInitialized = new AtomicBoolean(false); private AtomicBoolean getBusHasBeenCalled = new AtomicBoolean(false); private boolean isSetDefaultBus; @@ -94,18 +94,11 @@ public class CxfRsEndpoint extends Defau } public HeaderFilterStrategy getHeaderFilterStrategy() { - if (headerFilterStrategy == null) { - headerFilterStrategy = new CxfRsHeaderFilterStrategy(); - LOG.debug("Create default header filter strategy {}", headerFilterStrategy); - } return headerFilterStrategy; } public void setHeaderFilterStrategy(HeaderFilterStrategy strategy) { headerFilterStrategy = strategy; - if (binding instanceof HeaderFilterStrategyAware) { - ((HeaderFilterStrategyAware) binding).setHeaderFilterStrategy(headerFilterStrategy); - } } public Consumer createConsumer(Processor processor) throws Exception { @@ -122,19 +115,9 @@ public class CxfRsEndpoint extends Defau public void setBinding(CxfRsBinding binding) { this.binding = binding; - bindingInitialized.set(false); } - public synchronized CxfRsBinding getBinding() { - if (binding == null) { - binding = new DefaultCxfRsBinding(); - LOG.debug("Create default CXF Binding {}", binding); - } - - if (!bindingInitialized.getAndSet(true) && binding instanceof HeaderFilterStrategyAware) { - ((HeaderFilterStrategyAware) binding).setHeaderFilterStrategy(getHeaderFilterStrategy()); - } - + public CxfRsBinding getBinding() { return binding; } @@ -257,4 +240,22 @@ public class CxfRsEndpoint extends Defau public boolean isSetDefaultBus() { return isSetDefaultBus; } + + @Override + protected void doStart() throws Exception { + if (headerFilterStrategy == null) { + headerFilterStrategy = new CxfRsHeaderFilterStrategy(); + } + if (binding == null) { + binding = new DefaultCxfRsBinding(); + } + if (binding instanceof HeaderFilterStrategyAware) { + ((HeaderFilterStrategyAware) binding).setHeaderFilterStrategy(getHeaderFilterStrategy()); + } + } + + @Override + protected void doStop() throws Exception { + // noop + } }