[ https://issues.apache.org/jira/browse/GERONIMO-3528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kan Ogawa updated GERONIMO-3528: -------------------------------- Attachment: TestedResults_including_G3667.html > Cannot lookup JNDI context inside some servlet event listeners. > --------------------------------------------------------------- > > Key: GERONIMO-3528 > URL: https://issues.apache.org/jira/browse/GERONIMO-3528 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: naming > Affects Versions: 1.1.1, 2.0.1 > Reporter: Kan Ogawa > Assignee: Jarek Gawor > Fix For: 2.0.x, 2.1 > > Attachments: examples.war, TestedResults.html, > TestedResults_including_G3667.html > > > In some servlet event listeners, JNDI context lookup fails. > I encountered this issue while testing the following use case: > - When http session has became invalid by timeout, web container > automatically updates the logoff datetime to database system. > So I have made sample application to reproduce this issue and the tested > results. > This stack trace is one of NG results: > 16:23:35,661 ERROR [[/examples]] Session event listener threw exception > java.lang.NullPointerException > at > org.apache.xbean.naming.context.ContextFlyweight.lookup(ContextFlyweight.java:44) > at > org.apache.xbean.naming.context.ContextFederation.getFederatedBinding(ContextFederation.java:71) > at > org.apache.xbean.naming.context.AbstractFederatedContext.getBinding(AbstractFederatedContext.java:63) > at > org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:129) > at > org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:611) > at > org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:152) > at > org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:597) > at javax.naming.InitialContext.lookup(InitialContext.java:351) > at examples.DBConnector.testConnection(DBConnector.java:26) > at > examples.HttpSessionListenerImpl.sessionDestroyed(HttpSessionListenerImpl.java:15) > at > org.apache.catalina.session.StandardSession.expire(StandardSession.java:702) > at > org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592) > at > org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:682) > at > org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:667) > at > org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1316) > at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601) > at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610) > at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610) > at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590) > at java.lang.Thread.run(Thread.java:595) > If Geronimo v1.1, the stack trace is: > [ERROR] HttpSession - SystemDatabase doesn't have been lookuped from JNDI > Context. > javax.naming.NameNotFoundException: comp/env/jdbc/SystemDatasource > at org.apache.geronimo.naming.java.RootContext.lookup(RootContext.java:45) > at javax.naming.InitialContext.lookup(InitialContext.java:351) > at examples.DBConnector.testConnection(DBConnector.java:26) > at > examples.HttpSessionListenerImpl.sessionDestroyed(HttpSessionListenerImpl.java:15) > at > org.apache.catalina.session.StandardSession.expire(StandardSession.java:685) > at > org.apache.catalina.session.StandardSession.isValid(StandardSession.java:577) > at > org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:678) > at > org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:663) > at > org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1283) > at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1568) > at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1577) > at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1577) > at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1557) > at java.lang.Thread.run(Thread.java:595) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.