aspose file tools*
The moose likes Websphere and the fly likes JNDI Class not found in Session Invalidation Thread Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Products » Websphere
Bookmark "JNDI Class not found in Session Invalidation Thread" Watch "JNDI Class not found in Session Invalidation Thread" New topic
Author

JNDI Class not found in Session Invalidation Thread

Chris Kunzle
Greenhorn

Joined: Oct 29, 2002
Posts: 2
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)
 
 
subject: JNDI Class not found in Session Invalidation Thread