Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Agile forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JNDI Class not found in Session Invalidation Thread

 
Chris Kunzle
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there.
I have a simple web application, running on WebSphere 4.03.
I try to do some cleanup stuff when the session is invalidated. E.g. I want to delete a Logged-in attribute in our LDAP database (which is a netscape implementation).
Now the problem is, that the classloader cannot find the class (in netscapeJNDI.jar, which is in WEB-INF/lib) when executing the Session invalidation.
When I log out normally (executing the same JNDI-Code) it works.
I tried putting the netscapeJNDI.jar in the VMs class path, but that did not help (btw on WAS 3.5.4 that helped...).
Can anyone help me with this problem?
Thanks
----------------------------
Here's the exception I get:
java.lang.ClassNotFoundException: com.netscape.jndi.ldap.LdapContextFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:220)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:49)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:660)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:250)
at javax.naming.InitialContext.init(InitialContext.java:226)
at javax.naming.InitialContext.<init>(InitialContext.java:202)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:87)
at ch.agi.base.security.RealDirectoryConnection.prepareContext(RealDirectoryConnection.java:799)
at ch.agi.base.security.RealDirectoryConnection.deleteLDAPAttribute(RealDirectoryConnection.java:210)
at ch.agi.base.security.UserSessionData.cleanUp(UserSessionData.java:121)
at ch.agi.base.security.UserSessionData.release(UserSessionData.java:258)
at ch.agi.base.security.UserSessionData.valueUnbound(UserSessionData.java:291)
at com.ibm.servlet.personalization.sessiontracking.SessionData.processListeners(SessionData.java:791)
at com.ibm.servlet.personalization.sessiontracking.SessionData.sessionUnbound(SessionData.java:886)
at com.ibm.servlet.personalization.sessiontracking.SessionContext.notifySessionInvalidated(SessionContext.java:1047)
at com.ibm.servlet.personalization.sessiontracking.MemorySessionContext.notifySessionInvalidated(MemorySessionContext.java:281)
at com.ibm.servlet.personalization.sessiontracking.SessionData.invalidate(SessionData.java:581)
at com.ibm.servlet.personalization.sessiontracking.MemorySessionContext.processInvalidList(MemorySessionContext.java:173)
at com.ibm.servlet.personalization.sessiontracking.MemorySessionContext.performInvalidation(MemorySessionContext.java:124)
at com.ibm.servlet.personalization.sessiontracking.SessionContext.pollInvalidations(SessionContext.java:1011)
at com.ibm.servlet.personalization.sessiontracking.SessionContextRegistry.run(SessionContextRegistry.java:615)
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic