Menu

#2180 war isolation issue

v4.0
closed
JBossMX (91)
5
2004-12-29
2004-11-12
Don Hill
No

I am trying to get war isolation to work for the
default configuration of jboss-4.0.0, The issue I have
is that there exist a older version of castor in
default/lib folder and I need to use a newer version, I
know I can just remove it but the problem is I am
trying to use war isolation for the classloader or get
the CL to look for a class in the web-inf/lib first
before going to the parent, Here is the jboss-web.xml I
am using
<class-loading java2ClassLoadingCompliance='false'>
<loader-repository>
test.issue.com:loader=issue.war
<loader-repository-config>
java2ParentDelegaton=false
</loader-repository-config>
</loader-repository>
</class-loading>
I have tried several options and the only way I can get
it to work is by changing the setting in
jboss-service.xml to <attribute
name="Java2ClassLoadingCompliance">false</attribute>. I
have attached a war file that will dump some xml after
running through castor that is in the web-inf/lib if
the older castor is in the default/lib it will throw a
NPE, I am not sure but I think this will also be the
case in the server/all config.

Discussion

  • Don Hill

    Don Hill - 2004-11-12

    Logged In: YES
    user_id=1158015

    When it works you will get the following output
    16:30:57,451 INFO [STDOUT] FieldName=:timestamp
    16:30:57,451 INFO [STDOUT] Order total price = 257.5
    16:30:57,521 INFO [STDOUT] FieldName=:timestamp
    16:30:57,521 INFO [STDOUT] FieldName=:timestamp
    16:30:57,531 INFO [STDOUT] <?xml version="1.0"
    encoding="UTF-8"?>
    <Order reference="12343-AHSHE-314159" total-price="257.5"
    Timestamp="1100298657521"><Client><Name>Jean Smith</Name><Addr
    ess>2000, Alameda de las Pulgas, San Mateo, CA
    94403</Address></Client><Item
    reference="RF-0001"><Quantity>10</Quantity>
    <UnitPrice>8.95</UnitPrice><Description>Stuffed
    Penguin</Description></Item><Item
    reference="RF-0034"><Quantity>5</Quant
    ity><UnitPrice>28.5</UnitPrice><Description>Chocolate</Description></Item><Item
    reference="RF-3341"><Quantity>30</Quanti
    ty><UnitPrice>0.85</UnitPrice><Description>Cookie</Description></Item></Order>

    What we are trying to achive is to be able to deploy the war
    in any config with the client having to make modifications
    to the server.

     
  • Don Hill

    Don Hill - 2004-11-17
    • assigned_to: nobody --> starksm
     
  • Scott M Stark

    Scott M Stark - 2004-11-20

    Logged In: YES
    user_id=175228

    Can you provide the war doing the parsing or at least a
    servlet that produces the indicated output.

     
  • Dan Small

    Dan Small - 2004-11-22

    Logged In: YES
    user_id=1104154

    We are having a similar pbm. Only in our case clash
    is over versions of jaxen and dom4j.

    Btw we have a .war that works with 3.2.5 through 3.2.
    7rc1, and works with 4.0.1rc1. It does _not_ however
    work with 4.0.0.

    In a couple of hours from now you will be able to
    download the war from

    http://orbeon.sourceforge.
    net/unstable-blds/presentation-server/

    When it doesn't work you get a ClassCastException.

    When it does you will see something similar to
    this :
    http://www.orbeon.com/ois/
    .

    Btw, shouldn't the fact that jboss exposes these
    implementation details ( dom4j version ) to
    clients be considered a bug?

     
  • Don Hill

    Don Hill - 2004-11-23

    Logged In: YES
    user_id=1158015

    I want to be able to deploy a war in the default and all
    config without having to modify the server configs, I
    thought that I was able to add the class loading entry in
    the jboss-web, jbos-app ... and get the behavior that I
    needed, what I need is for the classloader of the war to
    load classes from the web container e.g,
    /web-inf/classes/lib before looking for the classes in the
    parent CL.

    hth

     
  • Scott M Stark

    Scott M Stark - 2004-11-23

    Logged In: YES
    user_id=175228

    Correct. So can you provide the servlet which demonstrates
    how castor is being used as requested?

     
  • Scott M Stark

    Scott M Stark - 2004-11-24

    Logged In: YES
    user_id=175228

    The oberon war fails due to default configuration of the
    tomcat container which does not read the
    WEB-INF/jboss-web.xml class loader config. The
    jboss-4.0.0/server/default config runs more like standalone
    tomcat but it not using the servlet 2.3 class loading model
    by default. Edit the
    jbossweb-tomcat50.sar/META-INF/jboss-service.xml and either set:
    <attribute name="Java2ClassLoadingCompliance">false</attribute>

    or enable the parsing of the jboss-web.xml class loading
    settings by setting:

    <attribute name="UseJBossWebLoader">true</attribute>

     
  • Dan Small

    Dan Small - 2004-11-24

    Logged In: YES
    user_id=1104154

    OK, thanks.

    But what about this difference between 4.0.0 and
    4.0.1rc1?

    That is I would like to know, if possible, what
    direction jboss is going in before I update our install
    doc.

    Also, is this 'un-encapsulation' of dom4j and jaxen
    usage a feature?

     
  • Scott M Stark

    Scott M Stark - 2004-11-24

    Logged In: YES
    user_id=175228

    The default isolation is being removed. 4.0.1RC1 uses the
    same flat class loading model by default that 3.2 does and
    this will read the web level class loader configuration. The
    default flat class loading model has been a feature of jboss
    since 3.0.x.

     
  • Scott M Stark

    Scott M Stark - 2004-12-29

    Logged In: YES
    user_id=175228

    All issues have been moved to http://jira.jboss.com. Existing
    issues have been moved. New issues will be closed with this
    canned reponse.

     
  • Scott M Stark

    Scott M Stark - 2004-12-29
    • status: open --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB