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