We build 3-tier enterprise solutions that typically consists of several webapp and ejbjar modules that all talk to a db and have several external integration points.
Each module typically needs its own configurations that can change over the solution's life time. Deploying it becomes a nightmare because now we have 18 property files that must be remembered to copied over and configured also setting up data-sources, queues, memory requirements etc.
I'm hopeful but not optimistic that there can be a better way. Some options we've considered/used, each with it's pros and cons:
With all of these you still need to configure data-sources and queues etc. in a container specific way :(
JNDI
. Then lookup this object in your apps to configure them. Benefits - you can use custom configuration object instead of rather generic Map
or Properties
.JMX
to configure applications you need. Benefits - you can bind objects you have to configure directly to MBean Server
and then use such a well-known tools as jconsole
or visualvm
to configure components of your application.Both ways support dynamic reconfiguration of your applications at runtime. I would prefer using JMX
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With