Can you give some examples of typical config properties that need to be shared between these bundles. Maybe they lead to an idea for a different design.

Christian

On 08.07.2016 15:09, Brad Johnson wrote:
Christian,

Thanks for the feedback. I'm actually looking for a bit more robust solution. Just the one small project I'm working on now has 12 business processes with a number of OSGi services that provide cross-cutting concerns. In this case they are service like credit card authorization, refunds, etc. CXF front ends them with REST/SOAP and I use recipientList to route them. But each of those business processes use OSGi services that might call out to banks, PayPal, analytics services, etc. Keeping these nicely segregated in their own bundles makes them very testable for the routing, data transformation to/from canonical form, etc. But configuration management is a bit of a pain because of the PID pinning. I use update strategy reload on the bundles so that configurations can be changed in different environments.

Until now I've kept my configuration files in each bundle and pop them out using the features install mechanism. But I'm rethinking that based on these discussions. I don't know if the Maven properties plugin would do what I'm thinking about but it might be a platform to develop such a plugin. In this case I'd have a separate configuration bundle with my PID cfgs in them and N levels of parent cfg files. The properties would just be rolled up and written out into PID specific cfg files. If I define a port or directory in a parent then all the children would inherit or override that property. That would permit the use of profiles for dev, test and production as well. Modifying any of the cfg files and then putting that through Jenkins would result in a nice configuration bundle that once reinstalled would trigger a reload. In the end the port or directory or endpoint configuration information would be duplicated in each cfg but it wouldn't require hand massaging of each cfg to change.


--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com

Reply via email to