2014-05-07 26 views
0

我想了解在什么情况下,在Tomcat中destroySubContext失败。我试图销毁我创建的Context,因此我下次启动该服务时无法登录createContext。我的代码如下:destroySubcontext与NameNotFoudException失败

private Context srvCtx; 
    public void init(ServletConfig servletconfig) throws ServletException { 
     super.init(servletconfig); 
     Context initCtx = new InitialContext(); 
     srvCtx = initCtx.createSubcontext("myapp"); 
    } 

    public void destroy() 
    { 
     try 
     { 
      if (srvCtx != null) 
      { 
       srvCtx.destroySubcontext("myapp"); 
       srvCtx.close();             
      } 
     } 
     catch(NamingException e) 
     { 
      log_.error(new LogQueueMessageStructure("Couldn't unbind the context",3016),e); 
     } 

    } 

我的代码有什么问题,我该如何调试这个问题?

回答

1

您创建的上下文的initCtx子上下文:

srvCtx = initCtx.createSubcontext("myapp"); 

当你destroing它不过好像你正试图摧毁它作为srvCtx子上下文。

srvCtx.destroySubcontext("myapp"); 

的MyApp的上下文不是的srvCtx子上下文,它是initCtx子上下文。它应该更好地与

initCtx.destroySubcontext("myapp"); 
+0

哦是的..这样一个愚蠢的问题..反正谢谢.. :)它的工作.. – 302Found