Date: Wed, 19 Mar 2003 23:12:07 -0500 From: Brent Verner <brent@rcfile.org> To: Doug Poland <doug@polands.org> Cc: leafy@leafy.idv.tw, freebsd-java@FreeBSD.ORG Subject: Re: Specifying jdk for tomcat 4.1.18 Message-ID: <20030320041206.GA46244@rcfile.org> In-Reply-To: <1671.172.16.1.33.1048126904.squirrel@email.polands.org> References: <18118.63.104.35.130.1048108215.squirrel@email.polands.org> <3E78DDFF.7000500@cyberlifelabs.com> <32007.63.104.35.130.1048109532.squirrel@email.polands.org> <3E78E6C2.2090209@cyberlifelabs.com> <1616.172.16.1.33.1048125648.squirrel@email.polands.org> <20030320020719.GA70161@leafy.idv.tw> <1671.172.16.1.33.1048126904.squirrel@email.polands.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[2003-03-19 20:21] Doug Poland said: | | leafy said: | > On Wed, Mar 19, 2003 at 08:00:48PM -0600, Doug Poland wrote: | >> /usr/local/bin/tomcat41ctl I see references to | >> /usr/local/jdk1.3.1. Unless I'm missing something, I think that | >> this tomcat41ctl port has the path to /usr/local/jdk1.3.1 compiled | >> into the binary and there is no way to path to a different jdk. | >> | > The same goes for jboss3ctl. If I want to switch to a different | > jdk, I have to recompile the whole thing(!). Is it possible to | > explicitly set JAVA_HOME when invoking the wrappers? Or by setting | > some configuration files for that? | > | Curious. I don't know the answer to your question. How do you | recompile with a different jdk? In the jakarta-tomcat41 Makefile it | echos $JAVA_HOME as /usr/local/jdk1.3.1 but I have no idea how it is | set. I obviously don't know enough about the port Makefile | business. | Perhaps a knoweldgeable and kind soul can enlighten us why jdk1.3.1 | is the only jdk for use in jboss3 and tomcat41. I have a patch to the daemonctl.c source that causes it to use JAVA_HOME, but this approach is not ideal, as there are other difficulties aside from which java binary to use. I'm taking over the jboss3 port (provided I find time to wrap up the loose ends), and I've been thinking that a better solution would be to have the daemonctl.c program call an appropriate shell script instead of calling the java binary directly -- the daemonctl.c program exists solely as a setuid/setgid wrapper to startup the service in question. I have begun to implement a daemonctl.c that uses a( set of xml) config file(s) to control its actions. sh$ ls -al /usr/local/bin/tomcat41ctl lrwxr-xr-x 1 root wheel 5 May 12 2002 tomcat41ctl -> jxdaemonctl sh$ ls -1 /usr/local/etc/daemonctl.d/ tomcat41ctl.xml jboss3ctl.xml jboss-tomcat.xml when called thru the tomcat41ctl symlink, the program will find the tomcat41ctl.xml config file which looks like this. <daemon> <user>www</user> <group>www</group> <setenv> <name>JAVA_HOME</name> <value>/usr/local/jdk1.4.1</value> </setenv> <setenv> <name>CATALINA_TMPDIR</name> <value>/var/tmp/tomcat41</value> </setenv> <chdir>/</chdir> <logs> <stdout>/usr/local/jakarta-tomcat4.1/logs/stdout.log</stdout> <stderr>/usr/local/jakarta-tomcat4.1/logs/stderr.log</stderr> </logs> <actions> <start> <exec>/usr/local/jakarta-tomcat4.1/bin/catalina.sh</exec> <arg>run</arg> <arg>-security</arg> </start> <stop> <exec fork="false">/usr/local/jakarta-tomcat4.1/bin/catalina.sh</exec> <arg>stop</arg> </stop> <pass><!-- the program is called with all args after "pass" --> <exec fork="false">/usr/local/jakarta-tomcat4.1/bin/catalina.sh</exec> <args /> </pass> <force-stop /><!-- kills by pid --> <restart /><!-- stop; start --> </actions> </daemon> The bits mentioned above are not complete, but I've been using a (much more simplistic) version for a couple of weeks. If this approach is sane, I'll try and finish this up over the weekend. Right now the program is using libxml2, but I'd like to implement it on top of expat, since that is already required for any of the java progs. b -- "Develop your talent, man, and leave the world something. Records are really gifts from people. To think that an artist would love you enough to share his music with anyone is a beautiful thing." -- Duane Allman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030320041206.GA46244>