2

Currently, our applications are running on Websphere Community Edition 6, which internally uses the Geronimo application server.

Due to increased demand of our applications, we are evaluating the migration to Websphere Application Server 8.5. However, we are having several issues with the classloader. In case some of our libraries need to be performed without interference from the application server.

In geronimo, we get this effect by changing the file geronimo.xml and including in it all packages that we did not want interference by hidden-class tag.

Example:

<hidden-classes>
        <filter>org.apache.commons.logging</filter>
        <filter>org.apache.log4j</filter>
        <filter>org.apache.axiom</filter>
        <filter>org.apache.axis2</filter>
        <filter>org.apache.commons.beanutils</filter>
        <filter>org.apache.struts</filter>
        <filter>org.directwebremoting</filter>
        <filter>com.thoughtworks</filter>
</hidden-classes>

Is there an equivalent mechanism in Websphere Application Server 8.5? We tried to use the policy "parent last" for class loading but some things did not work as expected (using our version of xerces, for example).

Yusubov
  • 5,815
  • 9
  • 32
  • 69
Raphael do Vale
  • 931
  • 2
  • 11
  • 28
  • Please elaborate on what did you set PARENT_LAST (application level, module level, both). Also, what things did not work, what errors did you get ? – Aviram Segal Dec 16 '12 at 14:20
  • I've set PARENT_LAST for both (application and module). – Raphael do Vale Dec 17 '12 at 11:58
  • I have/had several errors: 1. Log4j dit not save files in specified path (runs at community edition). 2. Unless I remove some library of my classpath (and then use from websphere) I got some issues like this: Caused by: java.lang.ClassCastException: org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl incompatible with javax.xml.datatype.DatatypeFactory. Removing the .jar fro my classpath also works, but our tests are not as reliable as before. I'm having another issues that I'm still evaluating. – Raphael do Vale Dec 17 '12 at 12:08
  • the xerces problems seems to me like a cause of a JAXP version mismatch between WASCE ans WAS. About log4j I'm not sure I didn't use it a lot – Aviram Segal Dec 17 '12 at 16:41
  • PARENT_LAST is a pretty blunt instrument that, as you say, has other side-effects. The Geronimo/WAS-CE mechanism you describe would be nice to have in regular WAS, but as far as I know it doesn't exist. – dbreaux Dec 24 '12 at 02:57
  • Hi, I migrated a couple of clients from WAS 6.0 to WAS 8.5 last year, and had a number of issues. The client code was using some very old APIs for digital signatures, and we had to keep the client JARs at the top of the path. If you want to post some specific SystemOut.log segments, I will try to help? – Greycon Jan 08 '13 at 17:03
  • Have you considered the Liberty profile? It doesn't expose the open source in its implementation by default so you wouldn't need PARENT_LAST or – Alasdair Mar 29 '14 at 10:40

0 Answers0