Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

How do I resolve Tomcat 6 experiencing a NullPointerException when attempting to invoke contextDestroyed()?

Posted on 2009-07-02
1
Medium Priority
?
496 Views
Last Modified: 2013-12-02
Hi,

I have a context listener extending ServletContextListener. I use contextInitialized() to load in my application's property file and spawn a new thread for managing an external resource; contextDestroyed() is used to gracefully stop this thread from managing the resource.

When Tomcat starts up, contextInitialized() is invoked as expected and the application loads normally. Upon stopping the application / shutting down Tomcat, Catalina throws a NullPointerException when attempting to pass my context listener the "context destroyed" event.

I've included the error from my 'localhost' logfile.

I've checked the "standard" things, such as ensuring my application isn't throwing exceptions, no duplicate .jar's within the lib directories.

Any idea as to why Tomcat is experiencing the NullPointer?
02-Jul-2009 23:00:12 org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class fivestarlives.ApplicationContextListener
java.lang.NullPointerException
	at fivestarlives.ApplicationContextListener.contextDestroyed(Unknown Source)
	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3973)
	at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4577)
	at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:924)
	at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1248)
	at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1219)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:316)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1086)
	at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
	at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
	at org.apache.catalina.core.StandardService.stop(StandardService.java:584)
	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
	at org.apache.catalina.startup.Catalina.stop(Catalina.java:633)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:608)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Open in new window

0
Comment
Question by:Sabooji
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 92

Accepted Solution

by:
objects earned 1000 total points
ID: 24769002
The NPE is happening in your code, if you compile you class with -g option it will tell you what line number it is occurring on
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are numerous questions about how to setup an IBM HTTP Server to be administered from WebSphere Application Server administrative console. I do hope this article will wrap things up and become a reference for this task. You need three things…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
Suggested Courses

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question