If it's critical to fix it fast, you could remove the super.destroy() call
to prevent the exception.
It sounds like the GenericServlet doesn't have a servlet context. The
GenericServlet.destroy() method calls the ServletContext.log() method. You
could always not call the super.destroy() to avoid the error, but you
should investigate why your getServletContext() returns null. Make sure
that the ServletConfig passed in during init is not null and that the
ServletConfig.getServletContext() does not return null. Also make sure
that your servlet calls super.init(config).
-----
Spike Washburn
IBM WebSphere Application Server
Internet E-mail: [EMAIL PROTECTED]
"Jeffrey D. Curry" <[EMAIL PROTECTED]> on 02/24/99 10:35:53 AM
Please respond to "A mailing list for discussion about Sun Microsystem's
Java Servlet API Technology."
<[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
cc: (bcc: Donald Washburn/Raleigh/IBM)
Subject: Re: NullPointerException when shutting down JSM in JRUN
Here's my HttpConfigServlet class if it helps you any...
-----Original Message-----
From: Jeffrey D. Curry <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>;
[EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: Wednesday, February 24, 1999 10:21 AM
Subject: NullPointerException when shutting down JSM in JRUN
>My HttpServlet implements the SingleThreadModel for my Login. Although,
>when I shut down the JSM, I get the following trace to stderr.
>
>Stopped ServiceManager admin server.
>DestroyAll:
>java.lang.NullPointerException
> at javax.servlet.GenericServlet.log(Compiled Code)
> at javax.servlet.GenericServlet.destroy(Compiled Code)
> at com.pncbank.tmsc.db.client.HttpConfigServlet.destroy(Compiled
>Code)
> at com.pncbank.tmsc.user.login.Login.destroy(Compiled Code)
> at com.livesoftware.jrun.JRunServletPoolObject.destroyAll(Compiled
>Code)
> at com.livesoftware.jrun.JRunServletPool.destroyAll(Compiled Code)
> at com.livesoftware.jrun.JRun.destroyAllServlets(Compiled Code)
> at com.livesoftware.jrun.JRun.destroyAll(Compiled Code)
> at com.livesoftware.jrun.JRunGeneric.destroyAll(Compiled Code)
> at
>com.livesoftware.jrun.service.jrunse.JRunSEService.doStopService(Compiled
>Code)
> at com.livesoftware.jrun.service.ServiceManager.main(Compiled
Code)
>
>My class is actually HttpConfigServlet which extends HttpServlet. All the
>HttpConfigServlet class does is
>1.) Create a config file class object (uses
>ClassLoader.getSystemResourceAsStream(name) to load the file and stores it
>in a java.util.properties variable) in the Servlet's Init() method.
>2.) Stores this object reference in a protected variable which is
>accessible to classes that extend this Servlet class
>I.E. These child classes can then issue a <variable
nam>.getString("<prop")
>without having to create the ConfigFile object every time.
>
>This is a CRITICAL issue and needs resolved immediately.
>
>Thanks
>
>Jeff
>
HttpConfigServlet.java