生命週期
catalina包括很多元件,當catalina啟動的時候,也需要啟動這些元件,當關閉catalina的時候同時也需要關閉這些元件。
tomcat通過事件機制來實現這種控制,所有的元件都實現org.apache.catalina.lifecycle介面:
packageorg.apache.catalina;
public inte***celifecyclelistener
privatelifecycle lifecycle =null;
privatelifecyclelistener listeners =newlifecyclelistener[0];
public voidaddlifecyclelistener(lifecyclelistener listener)
}publiclifecyclelistener findlifecyclelisteners()
public voidfirelifecycleevent(string type, object data)
for(inti = 0; i < interested.length; i++)
interested[i].lifecycleevent(event);
}public voidremovelifecyclelistener(lifecyclelistener listener)
}if(n < 0)
return;
lifecyclelistener results =
newlifecyclelistener[listeners.length - 1];
intj = 0;
for(inti = 0; i < listeners.length; i++)
listeners = results;}}
How Tomcat Works學習筆記《十二》
host和engine 在catalina中engine代表catalina實體,host代表乙個虛擬的主機,engine包括多個host,乙個host包括多個context。在tomcat中host用org.apache.catalina.host介面表示 public inte cehostex...
how tomcat works 第十三章
本章要討論的兩個主題是主機 host 和引擎 engine 如果需要在乙個 tomcat 部署中部署多個上下文,需要使用乙個主機。理論上,當只有乙個上下文容器的時候不需要主機,正如 org.apache.catalina.context 介面中描述的那樣。但是實踐中,乙個 tomcat 部署往往需要...
《How Tomcat Works》第三章 聯結器
前面第二章講的是簡單的servlet容器,其中httpserver類負責等待http請求,然後構建解析request,response,之後再通過classloader呼叫servlet的service方法或者說直接呼叫靜態資源。到了第三章,就將上一章中的httpserver類中的等待接受http請...