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