目錄結構:
?? bin:含有啟動、停止以及其他系統相關腳本。在前面,本書已經討論過啟動JBoss應用服務器的run腳本。
?? client:存儲供Java客戶應用或者外部Web容器使用的配置文件和JAR文件。用戶可以使用所需要的具體存檔,或者僅僅使用jbossall-client.jar。
?? docs:含有JBoss引用的XML DTD文件(當然,還包括JBoss具體配置文件)。同時,還存在JCA(Java Connetor Architecture,Java連接器架構)實例配置文件,供設置不同數據庫的數據源使用(比如MySQL、Oracle、Postgres)。
?? lib:包含運行JBoss微內核所需的JAR文件。請注意,不要往該目錄添加用戶自身的任何JAR文件。
?? server:包含的各個子目錄都是不同的服務器配置。通過往run腳本后添加-c <config name>參數便能夠指定不同的配置。接下來,來看看default服務器配置。
從根本上考慮,JBoss架構是由JMX MBean服務器、微內核、一套可插入式組件服務以及MBean構成的。這種架構使得,集成不同的配置變得更加簡單,并且能夠很靈活地滿足用戶的各自需求。用戶不再需要一次性運行重量級的應用服務器。同時,用戶可以刪除不再需要使用的組件(這將從很大程度上減少服務器的啟動時間),并且通過開發自己的MBean還能夠集成其他服務到JBoss中。當然,如果是運行標準J2EE應用,則不用理會這些自定義工作。用戶所需要的一切服務,JBoss發布版都包括了。
server目錄下存在3個服務器實例配置:all、default以及minimal,它們各自提供了不同的服務集合。很顯然,如果啟動JBoss服務器時沒有指定其他配置,則將使用default配置。
minimal:這是啟動JBoss服務器所要求的最低配置。minimal配置將啟動日志服務、JNDI服務器以及URL部署掃描器,以找到新的部署應用。對于那些不需要使用任何其他J2EE技術,而只是使用自定義服務的場合而言,則這種JMX/JBoss配置最適合。它僅僅是服務器,而不包含Web容器、不提供EJB和JMS支持。
?? default:默認配置,它含有大部分J2EE應用所需的標準服務。但是,它不含有JAXR服務、IIOP服務、或者其他任何群集服務。
?? all:提供了所有可用的服務。它包含RMI/IIOP和群集服務,default配置中沒有提供群集服務。
用戶也可以添加自身的服務器配置。最佳做法是,拷貝最接近用戶需求的現有配置,然后修改其具體內容。比如,如果用戶不需要使用消息服務,則只需要拷貝default目錄,并重新命名為myconfig,然后刪除jms子目錄。最后,啟動myconfig配置。
run -c myconfig
default服務器配置目錄的具體內容:
conf:含有指定JBoss核心服務的jboss-service.xml文件。同時,還包括核心服務的其他配置文件。
?? data:Hypersonic數據庫實例將數據存儲在此處。JBossMQ(JMS的JBoss實現)也使用它存儲消息。
?? deploy:用戶將應用代碼(JAR\WAR\EAR文件)部署在此處。同時,deploy目錄也用于熱部署服務(即,那些能夠從運行服務器動態添加或刪除的服務)和部署JCA資源適配器。因此,用戶能夠在deploy目錄看到大量的配置文件。尤其是,用戶能夠看到JMX控制臺應用(未打包的WAR文件),本書前面討論過。JBoss服務器將定期掃描該目錄,從而查找是否有組件更新或修改,從而自動完成組件的重新部署。本書后續章節將詳細闡述部署細節。
?? lib:服務器配置所需的JAR文件。用戶可以添加自身的庫文件,比如JDBC驅動,等等。
?? log:日志信息將存儲到該目錄。JBoss使用Jakarta Log4j包作為其日志功能。同時,用戶可以在應用中直接使用Log4j日志記錄功能。
?? tmp:供部署器臨時存儲未打包應用使用,也可以作為其他用途。
?? work:供Tomcat編譯JSP使用。
其中,data、log、tmp、work目錄是JBoss創建的。如果用戶沒有啟動過JBoss服務器,則這些目錄不會被創建。
.
2.2.1 核心服務
當JBoss服務器啟動時,首先會啟動conf/jboss-service.xml文件指定的核心服務。
雖然通過conf/jboss-service.xml文件能夠添加其他MBean服務,但是更好的辦法是,將單獨的配置文件放置在deploy目錄中,因為這將使得用戶的服務具有熱部署能力。
2.2.2 日志服務
Log4j是JBoss使用的日志功能包。通過conf/log4j.xml文件能夠控制JBoss的日志功能。
2.2.3 安全性服務
安全性域信息存儲在login-config.xml文件中,其包含了許多安全性域定義。各個安全性域指定了許多JAAS登陸模塊,供安全性域認證使用。當用戶需要在應用中使用安全性時,需要在JBoss特定部署描述符jboss.xml或jboss-web.xml中指定待使用的安全性域名。
2.2.4 其他服務
deploy目錄放置的服務不是核心服務,但具有熱部署能力。用戶可以通過XML描述符文件(*-service.xml)或JBoss服務存檔(SAR)文件給出服務。SAR同時含有XML描述符和服務所要求的其他資源(比如,類、JAR庫文件以及其他存檔),而且SAR是以單個存檔文件給出的。