Hi Dan, Am Montag, 24. September 2012, 21:58:17 schrieb Daniel Tihelka: > On 9/24/12, Lennart Poettering <[email protected]> wrote:
> > Hmm, so systemd unit files are not really supposed to the place where > > daemon-specific configuration bits are encoded. If a daemon requires > > specific configuration my recommendation is always to introduce a proper > > configuaration file for it, and not to encode this via env vars or in > > the cmdline. Administrators will thank you for it! > > OK, thanks. I will try to change cruisecontrol in this way. > > But still, there are java-specific options which must be set (and may > be required to be customized) as well - for example the -Xmx or -Xms > settings. And I am most likely not able to change it in java :-) > > So, how to handle those? Yes, it can (rather simply) be done through > shell wrapper, but my intention was to try to avoid it (well, it was > motivated by the aim of systemd anyway - to get rid off shell scripts > from boot sequence). On the other hand, I understand that you don't > want to create a mega-features-everything-capable-shell-replacement > ... True, true...but a shell script doesn't *have* to be as ugly as what comes with some widely used java frameworks and contain like 2k LOC of the most abominable shell code history has seen just to collect what ends up in a bunch of env vars and options to the java binary - of which the location is first determined via large parts of this wrapper... Actually I think it's a bug in the JRE if things can only be configured on the command line and not via a (possibly JAR-specific) config file... anyway, this seems like be one of the few cases where EnvironmentFile= might be the best solution. As opposed to Environment= this makes it very easy for the user to override some settings. You could e.g. run java ... $JAVA_OPTS together with EnvironmentFile=-... (not teh minus) so the file doesn't even have to exist, but iff the user wants/needs to tweak memory options, it's only a matter of adding e.g. JAVA_OPTS="-Xms... -Xmx..." to the env file. With Environment=... you require the user to overwrite the whole unit instead. HTH, Malte _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
