Aaron Mulder wrote:
I have a change ready that lets us mark certain GBean attributes
as "manageable", meaning that we expect the user be interested in
potentially overriding that value. Then there's a service that tracks
values for some or all of these manageable attributes, currently storing
them in an XML file. So the end result is there's a plain text file
(currently var/config/config.xml) that looks like the sample below. The
idea is that the user could change any values in there by hand if they
like, particularly for network ports that would otherwise conflict with
something running on their machine.
I'm looking for feedback on this.
I think this is a good idea. It's much easier to see and update the
various ports in a single config
file rather than updating several config files. What would also help is
a way to tell the server
which "option" (i.e, a common config file or individual config files)
is to be used when bringing it up.
If I may say so, Jboss has a similar feature (service-bindings.xml) to
configure all ports in one place and
one can define multiple such sets as well.
On a related note, we at SpikeSource have developed a common
configuration management tool to manage the
configurations of installed components. This tool also manages
configuration consistency between
dependent components. For example, when you change the database port, it
automatically updates all the
places where (e.g, a datasource definition in the J2ee server) this port
is used. We can easily plugin Geronimo
configuration management as well, into this tool. This tool is
installed by default when you download and install corestack
from our website (and is free)
You can read more info about this tool at
http://www.spikesource.com/docs/cs_1.6.0-linux/doc/configmgr/configmgr_quickstart_guide.html
Sastry
David J seemed to largely
approve but wondered whether it would be better to store separate config
files for each Configuration. I prefer having one unified config file
because I think it's clearer and easier to edit and cust down on config
file sprawl. Any comments would be appreciated.
Thanks,
Aaron
<attributes>
<configuration name="org/apache/geronimo/Server">
<gbean name="JettyWebConnector">
<attribute name="host">localhost</attribute>
<attribute name="port">8080</attribute>
<attribute name="redirectPort">8443</attribute>
</gbean>
<gbean name="JettySSLConnector">
<attribute name="host">localhost</attribute>
<attribute name="port">8443</attribute>
</gbean>
<gbean name="TomcatWebConnector">
<attribute name="host">localhost</attribute>
<attribute name="port">8080</attribute>
<attribute name="redirectPort">8443</attribute>
</gbean>
<gbean name="TomcatAJPConnector">
<attribute name="host">localhost</attribute>
<attribute name="port">8009</attribute>
<attribute name="redirectPort">8443</attribute>
</gbean>
<gbean name="JettySSLConnector">
<attribute name="host">localhost</attribute>
<attribute name="port">8443</attribute>
</gbean>
<gbean name="openejb:type=NetworkService,name=EJB">
<attribute name="host">localhost</attribute>
<attribute name="port">4201</attribute>
</gbean>
</configuration>
<configuration name="org/apache/geronimo/ActiveMQServer">
<gbean name="ActiveMQ.tcp.localhost.61616">
<attribute name="host">localhost</attribute>
<attribute name="port">61616</attribute>
</gbean>
</configuration>
<configuration name="org/apache/geronimo/SystemDatabase">
<gbean name="DerbyNetwork">
<attribute name="host">localhost</attribute>
<attribute name="port">1527</attribute>
</gbean>
</configuration>
</attributes>
Note: while this sample deals with network settings, we can include any
attributes in here.