users@jersey.java.net

[Jersey] Classloader Issues

From: Cemo Koc <cem.koc.fwd_at_gmail.com>
Date: Mon, 14 Dec 2009 04:59:21 -0800 (PST)

Hi,

I have a question about Jersey and final Glassfish V3. This version is using
Jersey: 1.1.4.1 and at logs I can see Jersey related logs such as :

[#|2009-12-11T18:52:23.142+0200|INFO|glassfishv3.0|com.sun.jersey.server.impl.application.WebApplicationImpl|_ThreadID=29;_ThreadName=Thread-1;|Initiating
Jersey application, version 'Jersey: 1.1.4.1 11/24/2009 01:37 AM'|#]


However I want to use latest Snapshot of Jersey with my war application.
However I can not see necessary logs after deployment of my application
about Jersey 1.1.5-ea-SNAPSHOT.

First of all, I tried to change delegation model in my application like

    <class-loader>
        <property name="delagate" value="false"/>
    </class-loader>

However this try could be successful. Then I dig little then I found liI am
not sure about this but I found such a comment in glassfish forum:

The webapp classloader ignores the delegate flag for a number of packages,
including any packages starting with javax.* and
org.apache.taglibs.standard.*, and will unconditionally delegate resolution
of any symbols in these packages to the parent classloader.

http://forums.java.net/jive/message.jspa?messageID=359220

I know that this is not only related to Jersey. I am not eager to delete any
library from glassfish installation folder.

1 ) What is the best way to use firstly bundled libraries without regarding
their package name and other things.


2 ) What is the motivation behind delegation classloading to container? In
my opinion, classloading should be default false because if a library is
included to an application, it should be loaded firstly... At least I
believe so :)


Thanks
-- 
View this message in context: http://n2.nabble.com/Classloader-Issues-tp4163936p4163936.html
Sent from the Jersey mailing list archive at Nabble.com.