Christian, Thanks. I'll look into that. Right now all my services are defined in separate bundles and exported to the registry and have interfaces with REST/SOAP annotations that I expose via an API gateway. That works fairly well but it obviously couples the deployment.
Part of the problem is with blueprint being a bundle internal only is that one can't do easy runtime modifications. Whereas if the specification has external/internal deployed sections it could make this much better. In the same way that we do cfg files we could also have an external/internal blueprint for a bundle. In fact, with properties exposed that way cfgs wouldn't even be necessary or would be duplicated. As an example, if I have a webservices API gateway with the following I have to replicate a lot of endpoint set up and if I decide I don't want to deploy that service there but have it on another machine I can't do that without recompiling. Putting a raw blueprint file in the etc directory feels like cheating but maybe that's the answer to some of this. <reference id="myInoviceService" interface="com.foo.InvoiceService"/> <reference id="myInventoryService" interface="com.foo.InventoryService"/> <cxf:rsServer id="invoiceCxfRs" address="${CXFServer}/invoice/resources" serviceClass="com.foo.InvoiceService" loggingFeatureEnabled="true" loggingSizeLimit="20"> <cxf:providers> <bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider"> <property name="dropRootElement" value="true" /> <property name="supportUnwrapped" value="true" /> </bean> </cxf:providers> </cxf:rsServer> <cxf:cxfEndpoint id="invoiceSoapCxf" address="${CXFServer}/invoice/services" serviceClass="com.foo.invoice.services.api.InvoiceDocumentService" loggingFeatureEnabled="true" loggingSizeLimit="20"> <cxf:binding> <soap:soapBinding version="1.2" /> </cxf:binding> </cxf:cxfEndpoint> ...set up other endpoints... <bean id="serviceInvoker" class="com.svm.esb.financial.webservice.ServiceInvoker"/> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="cxfrs:bean:invoiceCxfRs" /> <log message="Received request: ${body}" /> <log message="Received headers request: ${headers}" /> <bean ref="serviceInvoker" method="invokeServiceFromREST" /> </route> -- View this message in context: http://camel.465427.n5.nabble.com/CXF-cross-cutting-concerns-tp5778798p5778886.html Sent from the Camel - Users mailing list archive at Nabble.com.