Date: Mon, 05 Dec 2005 17:07:03 +0200 From: Panagiotis Astithas <past@ebs.gr> To: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr> Cc: freebsd-java@freebsd.org Subject: Re: JBoss4 installation weirdness Message-ID: <43945797.60001@ebs.gr> In-Reply-To: <20051205135713.GA14943@arabica.esil.univ-mrs.fr> References: <43942C07.1030604@ebs.gr> <20051205135713.GA14943@arabica.esil.univ-mrs.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------000301030803050204030406 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Herve Quiroz wrote: > Hi Panagiotis, > > On Mon, Dec 05, 2005 at 02:01:11PM +0200, Panagiotis Astithas wrote: > >>As I found out the hard way today, jboss4 installs different things >>depending on whether it is being built using jdk14 or jdk15. In the >>latter case you get EJB3 stuff that (unfortunately for me) include old >>versions of commons-stuff which may create conflicts with a deployed >>app, thanks to the funky jboss classloader architecture. The binaries >>that jboss.com ships evidently contain stuff that you get when you build >>with jdk14. > > > I don't know much about JBoss 4 but the common practice when ports > install different stuff depending on JDK version is to use a > PKGNAMESUFFIX to indicate the JDK version used (e.g. '-jdk14'). > java/openjit is one good example. Right. Then again that has bitten people occasionally when portupgrading using packages. IIRC, the right package cannot be found automatically. >>I'm not sure if it is possible or even reasonable to change the current >>behavior (I'm overriding JAVA_PREFERRED_PORTS), but perhaps we could add >>an informative message when building the port to inform the user. > > > I can think of two approaches here. Either we disallow Java 1.5 (since > there seems to be trouble with it anyway, as you describe above), or we > could just enforce JAVA_VERSION?=1.4 and let the user know that he may > override JAVA_VERSION if he wants another JDK version. Indeed users > don't always read the messages from the install log and the JDK that is > picked up does not only depends on JAVA_PREFERRED_PORTS (it also depends > on the JDKs that are installed at the time you install a port). So I > think it's better to enforce a known-to-be-stable flavor of the port and > allow the users who know what they do to request a different flavor. > > I also wondering what could happen if you use java/jdk15 to build the > port and then java/jdk14 to run it... In case this causes trouble, it > would confirm the fact that we need to enforce either "1.4" or "1.5" > (thus no "1.4+"). Enforcing jdk14 would be in accordance with the official policy (from JBoss Inc.), as I understand it. Unfortunately the current port suffers from another issue I have mentioned a while ago. Since it uses jboss4ctl to control the service, the jdk path gets hardcoded into the executable when building it. This forces the use of the same jdk to run the service as the one it was built with. This way however you can't deploy jdk15 applications if you build jboss with jdk14. For the time being I'm using the attached startup scripts, copied from your tomcat55 one. IIRC, you were going to look into it, so they may be useful as a starting point. Some things don't work right though, like the 'status' command. On the other hand I kinda like the fact that I can get the full jboss4 server with ejb3, annotations and whatnot, with just a recompilation. If we remove this functionality (granted, I just found out that it existed) we should replace it with a build option or a slave port (that enforces jdk15). Currently there is no other way to get this functionality from the ports collection, you have to get the extra bundles from the vendor's site. I'm CCing Jonathan, since he may be already aware of all this. Regards, Panagiotis --------------000301030803050204030406--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43945797.60001>