What's wrong with doing something like the following:
...
[Service]
Type=forking
EnvironmentFile=-/usr/local/myJavaConfig
ExecStart=/bin/sh -c '${JAVA_HOME} ${JAVA_OPTS}'
Or if you're after passing things in, use the other technique that lets you use systemctl myservice@your_sub.service
Two things are wrong, neither of which, however, make daemonize appropriate. First, and trivially, there's a missing /bin/java (-: Second, that's a potential readiness protocol and a main PID mismatch. See http://unix.stackexchange.com/a/200365/5132 for details. And then http://askubuntu.com/a/624871/43344 . Remembering to exec is another lesson to bring along from the daemontools world.
That's a case for creating a wrapper shell script that you launch through ExecStart=. Nothing to do with whether your process does the daemon(7) dance or not.
Re:You don't need to daemonize
by quicksilver03 on Monday June 29, 2015 @05:10AM
(#9797074)
Correct, I should've been clearer that I use daemonize mostly out of frustration with systemd limitations and inability to tell me precisely what's wrong when there are errors launching the service.
Someday systemd will go beyond simple key-value substitution, and on that day I'll stop using daemonize.
[1]: http://www.opsfordevelopers.com/2015/05/startup-scripts-for-...