?
本文檔使用 PHP中文網(wǎng)手冊 發(fā)布
自從Spring 2.5之后,我們就可以RAR文件的形式部署Spring ApplicationContext,該文件將應(yīng)用上下文,所有需要的bean以及JARs文件封裝到一個J2EE RAR部署單元中。這與引導(dǎo)啟動一個獨(dú)立的 ApplicationContext 是一樣的,只是它要寄居于J2EE環(huán)境內(nèi),以便能夠訪問J2EE服務(wù)器提供的基本功能。這種RAR的部署對于那些常見的應(yīng)用場景準(zhǔn)備以一種更加“自然”的方式去部署一個沒有頭(headless)的WAR文件――就是說:一個沒有任何HTTP入口點(diǎn),而只用于在J2EE環(huán)境中啟動一個Spring ApplicationContext的WAR文件。
RAR部署對于那些不需要任何HTTP入口點(diǎn)而僅包含消息節(jié)點(diǎn)與任務(wù)安排等的應(yīng)用上下文來說非常理想。在這樣的上下文中的Beans可以使用應(yīng)用服務(wù)器資源,例如JTA事務(wù)管理,綁定到JNDI的JDBC數(shù)據(jù)源,JMS ConnectionFactory實(shí)例,同時這些beans還可以注冊到平臺上的JMX服務(wù)器――所有這些都通過Spring標(biāo)準(zhǔn)的事務(wù)管理與JNDI以及JMX支持的功能來實(shí)現(xiàn)的。應(yīng)用組件也可以通過Spring的TaskExecutor
接口與應(yīng)用服務(wù)器的JCA WorkManager進(jìn)行交互。
查看SpringContextResourceAdapter類的JavaDoc,以了解關(guān)于RAR部署的配置細(xì)節(jié)。
對于簡單的部署,您要做的事情如下:將所有應(yīng)用類打包成RAR文件(此文件是標(biāo)準(zhǔn)的 JAR 文件,只是擴(kuò)展名不同),將所有需要的jars包添加到該RAR文件的根目錄中,添加一個”META-INF/ra.xml“部署描述符(參見SpringContextResourceAdapter
的JavaDoc)及相應(yīng)的Spring XML bean定義文件(典型情況下為"META-INF/applicationContext.xml")最后把這個 RAR 文件放到您的應(yīng)用服務(wù)器的部署目錄中!
注意:這個RAR部署單元一般是自包含的;他們沒有將組件暴露給“外部”世界,甚至也沒有暴露給應(yīng)用中的其他模塊。我們一般使用JMS(多個模塊共享)與基于RAR的ApplicationContext進(jìn)行交互。例如調(diào)度任務(wù),對新加入文件系統(tǒng)的文件作出反應(yīng)(或者類似的)。實(shí)際上,如果需要考慮到外界的同步訪問,它可以導(dǎo)出RMI端點(diǎn),這個過程也同樣適用于同一臺機(jī)器上的其他應(yīng)用模塊。