2012-10-12 50 views
1

我有一個超級輕量級​​的weblogic應用程序,我需要訪問將根據環境而改變的字符串。我搜索了一下,我所有的選擇似乎都需要構建類和加載器等。然而,隨着weblogic的應用程序配置文件數量的增加,我完全期待有一個更好的地方來存儲單個全局屬性以便快速參考可以使用plan.xml文件進行更改。指定weblogic的部署配置設置?

+0

預先感謝任何幫助,您都能夠提供。 – Colton

回答

1

我認爲您可以在部署期間使用plan.xml,輸入如下,以覆蓋myEnvVariable通過web.xml中的上下文定義的上下文變量值。詳情請見Oracle Website

<variable-definition> 
    <variable> 
     <name>myEnvVariable</name> 
     <value>myEnvironmentDependentValue</value> 
    </variable> 
</variable-definition> 

您可能想爲不同的環境創建不同的plan.xml。在web.xml

上下文變量可以被定義如下:

<context-param> 
    <param-name>myEnvVariable</param-name> 
    <param-value>myEnvironmentDefaultValue/param-value> 
</context-param> 

上下文變量可以在服務器端使用請求對象如下進行檢索:

String myEnvVariableString= getServletContext().getInitParameter("myEnvVariable"); 
+0

這對我而言並不奏效,因爲這些值在運行時不可訪問,也不能通過System.getenv或System.getProperty進行檢索。 – Colton

+0

正如我在答案中提到的,請先在'web.xml'中定義變量。我用例子更新了答案。通過'plan.xml',你只是覆蓋變量的值。您可以很好地從上下文中檢索服務器端的此變量(在答案中添加示例)。 –

1

不知道,如果你找這個(增加另一個答案)。

  1. 打開startWebLogic.cmd/startWebLogic.sh可用於您的weblogic域文件夾。
  2. 在文件 的頂部添加set JAVA_OPTIONS=%JAVA_OPTIONS% -Dmy.environment=TestEnviroment它調用call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*
  3. 保存文件並重新啓動Weblogic服務器之前。

這個變量是現在存在於用於使用的環境。