2012-10-22 41 views
1

我目前正在將我們基於Apache Camel的應用程序修改爲Tomcat。由於業務需要,我們必須在單臺機器上託管多個應用程序實例,每個應用程序都有自己的一組配置。以前的配置文件與app捆綁在一起(因此可以很容易地從classpath訪問),但現在它們將被分離成絕對路徑(如path/instance1,path/instance2等)。我想實現與Spring:具有指向web應用程序中實際外部上下文的spring上下文變量

  • 出口實例的conf路徑作爲初始Spring上下文文件變量,這樣我就可以通過$ {instance_conf_path}引用它(目前我有它的屬性文件,通過PropertyPlaceholderConfigurer閱讀)
  • 有真正的彈簧上下文(它們是邏輯上分離)進口使用在初始上下文提到
  • 因爲這個路徑在Apache的駱駝路由的幾個部分也使用的,我需要使用這個變量也存在(這要根據工作到駱駝手冊)

駝峯2.10.2在傳遞依賴中有Spring 3.0.7,但在閱讀this article後,我手動將Spring 3.1.2放入maven。但它仍抱怨它不知道這個變量。有什麼建議麼?或者你知道在Spring中有更好的方法來存儲所有的外部配置,並在應用程序包中設置此配置的路徑嗎? 謝謝

回答

0

您是否考慮過使用環境變量?你可以參考它的web.xml:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
    classpath*:spring/sharedContext.xml, 
    file:/${APP_HOME}/spring/specificContext.xml 
    </param-value> 
</context-param> 

如果需要駱駝什麼特別,你可以包括在適當的情況下APP_HOME具體配置。

相關問題