2014-05-07 29 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