Petals ESB Container

Component classloader not completly isolated

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 4.2.4
  • Fix Version/s: 5.0.0
  • Component/s: Classloader
  • Security Level: Public
  • Description:
    Hide

    I'm writing my own JBI component. It requires Saxon B 9.0.0.8 as XSLT engine instead the default one provided with Petals CDK. Saxon B 9.0.0.8 is required to get the feature about reflexive Java functions no more available in Saxon HE (only available in Saxon PE or EE). So I exclude Saxon from the transitive dependencies of Petals CDK and I add my own version of Saxon.

    At runtime Saxon B is not used until I replace Saxon HE provided by Petals ESB container (in $PETALS_HOME/lib) by the default XSLT engine of the JVM (renaming Saxon HE jar file, and removing system property javax.xml.transform.TransformerFactory in Petals ESB start-up script.

    Show
    I'm writing my own JBI component. It requires Saxon B 9.0.0.8 as XSLT engine instead the default one provided with Petals CDK. Saxon B 9.0.0.8 is required to get the feature about reflexive Java functions no more available in Saxon HE (only available in Saxon PE or EE). So I exclude Saxon from the transitive dependencies of Petals CDK and I add my own version of Saxon. At runtime Saxon B is not used until I replace Saxon HE provided by Petals ESB container (in $PETALS_HOME/lib) by the default XSLT engine of the JVM (renaming Saxon HE jar file, and removing system property javax.xml.transform.TransformerFactory in Petals ESB start-up script.
  • Environment:
    -

Issue Links

Activity

Hide
Victor NOËL added a comment - Fri, 3 Jul 2015 - 13:32:09 +0200

The problem was with petals-log bringing Saxon-HE with it.

PETALSDISTRIB-147 is the solution.

Show
Victor NOËL added a comment - Fri, 3 Jul 2015 - 13:32:09 +0200 The problem was with petals-log bringing Saxon-HE with it. PETALSDISTRIB-147 is the solution.
Hide
Christophe DENEUX added a comment - Fri, 3 Jul 2015 - 12:39:18 +0200 - edited

The SL is available in Maven Repository as SNAPSHOT version.

To configure the SE XSLT to use the SL, just edit the component JBI descriptor adding the tag shared-library as following:

...
   </bootstrap-class-path>
   <shared-library version="1.0-SNAPSHOT">petals-sl-saxonB-9.0.0.8</shared-library>
   <ns2:acceptor-pool-size>3</ns2:acceptor-pool-size>
   ...
Show
Christophe DENEUX added a comment - Fri, 3 Jul 2015 - 12:39:18 +0200 - edited The SL is available in Maven Repository as SNAPSHOT version. To configure the SE XSLT to use the SL, just edit the component JBI descriptor adding the tag shared-library as following:
...
   </bootstrap-class-path>
   <shared-library version="1.0-SNAPSHOT">petals-sl-saxonB-9.0.0.8</shared-library>
   <ns2:acceptor-pool-size>3</ns2:acceptor-pool-size>
   ...
Hide
Victor NOËL added a comment - Fri, 3 Jul 2015 - 10:07:16 +0200

Sorry and could you also provide step-to-step for configuring the XSLT SE with this SL? I'm not familiar with it 

Show
Victor NOËL added a comment - Fri, 3 Jul 2015 - 10:07:16 +0200 Sorry and could you also provide step-to-step for configuring the XSLT SE with this SL? I'm not familiar with it 
Hide
Christophe DENEUX added a comment - Fri, 3 Jul 2015 - 10:03:07 +0200

Wait a minute, I'm writing and committing it.

Show
Christophe DENEUX added a comment - Fri, 3 Jul 2015 - 10:03:07 +0200 Wait a minute, I'm writing and committing it.
Hide
Victor NOËL added a comment - Fri, 3 Jul 2015 - 10:02:49 +0200

Sorry, seems to be on trunk as stated in PETALSESBCONT-333

Show
Victor NOËL added a comment - Fri, 3 Jul 2015 - 10:02:49 +0200 Sorry, seems to be on trunk as stated in PETALSESBCONT-333
Hide
Victor NOËL added a comment - Fri, 3 Jul 2015 - 10:00:05 +0200

And something is not clear to me, is it with the trunk version of petals or with 4.3?

Show
Victor NOËL added a comment - Fri, 3 Jul 2015 - 10:00:05 +0200 And something is not clear to me, is it with the trunk version of petals or with 4.3?
Hide
Victor NOËL added a comment - Fri, 3 Jul 2015 - 09:56:07 +0200

Where is petals-sl-saxonB-9.0.0.8? I only have petals-sl-saxonhe-9.2.0.6

Show
Victor NOËL added a comment - Fri, 3 Jul 2015 - 09:56:07 +0200 Where is petals-sl-saxonB-9.0.0.8? I only have petals-sl-saxonhe-9.2.0.6
Hide
Victor NOËL added a comment - Fri, 3 Jul 2015 - 09:42:32 +0200

I can take care of it

Show
Victor NOËL added a comment - Fri, 3 Jul 2015 - 09:42:32 +0200 I can take care of it
Hide
Christophe DENEUX added a comment - Fri, 3 Jul 2015 - 09:04:43 +0200

This problem can be reproduced using SE XSLT:

  • Remove the Saxon jar file included in Petals SE XSLT,
  • Configure it with the shared library petals-sl-saxonB-9.0.0.8,
  • Deploy a SU containing an XSL with a reflexive Java function.
Show
Christophe DENEUX added a comment - Fri, 3 Jul 2015 - 09:04:43 +0200 This problem can be reproduced using SE XSLT:
  • Remove the Saxon jar file included in Petals SE XSLT,
  • Configure it with the shared library petals-sl-saxonB-9.0.0.8,
  • Deploy a SU containing an XSL with a reflexive Java function.

People

Dates

  • Created:
    Fri, 3 Jul 2015 - 09:02:44 +0200
    Updated:
    Fri, 3 Jul 2015 - 16:40:30 +0200
    Resolved:
    Fri, 3 Jul 2015 - 16:40:30 +0200