Skip site navigation (1)Skip section navigation (2)
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>