this is really cool and a huge improvement on what we had previously
-sachin
On Mar 3, 2007, at 11:47 PM, David Jencks wrote:
Following Ted Kirby's idea of property substitution in config.xml
files (GERONIMO-2735) I applied and modified his patch. Jason
Dillon had a jexl expression evaluator lying around so I replace
the evaluation code in the patch with the jexl stuff, so now you
can use expressions in your substitutions.
The substitutions are in a new file, default location var/config/
config-substitutions.properties. This is used to evaluate
expressions in config.xml. I implemented a small example in
geronimo-jetty6-jee5 for the jetty connectors, using
hostName
httpPort
httpsPort
portOffset.
You can override a value in the properties file with an environment
variable or a system property. Therefore, to start a server on a
different set of jetty connector ports, you can say:
java -DportOffset=1 -jar bin/server.jar --long
If this generally seems like a good idea and no one has a better
idea I'll go through the config.xmls and use substitutions more
systematically in a few days.
One question I have is whether it's really a good idea to use
environment variables for substitutions. I really don't know and
would appreciate more informed opinions.
Also, you can specify an alternate properties file on the command
line with
java -
Dorg.apache.geronimo.config.substitutions.file=where.ever.you.want
Many thanks to ted for coming up with the original patch and
pushing for it.
thanks
david jencks