簡體   English   中英

如何用weblogic JNDI替換web.xml條目?

[英]How can I replace my web.xml entries with weblogic JNDI?

我需要將我的web.xml條目替換為無需重新部署即可更新的內容。 起初,我考慮過創建數據庫表,但是后來有人建議使用weblogic JNDI。 問題是我不知道該怎么做,甚至不知道這樣做是否可行。 我試圖在Internet上找到答案,但到目前為止並沒有取得太大進展。 你能幫我這個忙嗎? 提前致謝。

注意:這是我第一次在這里提問,所以請耐心等待。

答案是使用部署計划,這是完成這些操作的標准weblogic方法。 這里對此進行了很好的描述:

http://middlewaremagic.com/weblogic/?p=5144

但是,假設您需要設置其他內容,即環境變量。 如果我們首先將變量添加到web.xml中:

<env-entry>
    <env-entry-name>directoryPath</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>/data/uploads</env-entry-value>
</env-entry>

這定義了一條路徑,當然每個環境之間的路徑可能不同。

我們可以通過InitialContext或僅通過spring JEE來引用它:

<jee:jndi-lookup id="directoryPath" jndi-name="directoryPath" resource-ref="true" default-value="/data/uploads"/>

那么,plan.xml是什么,第一,您需要生成一個默認值,您可以從上面的鏈接中捏一下,但是您可以通過檢查以下鏈接來生成默認值:

來自文檔

然后,我們需要替換所需的值,因為我們正在使用web.xml,因此需要插入web.xml位:

<module-descriptor external="false">
  <root-element>web-app</root-element>
  <uri>WEB-INF/web.xml</uri>
  <variable-assignment>
    <name>directoryPath</name>
    <xpath>/web-app/env-entry/env-entry-value</xpath>
  </variable-assignment>
</module-descriptor>

該變量應在plan.xml的變量部分中定義

<variable>
  <name>directoryPath</name>
  <value>/data/secrets</value>
</variable>
<variable>

最后更新應用程序(默認情況下可以通過-plan選項上載計划)或在控制台中指定該計划。 在控制台中,選擇部署,選擇更新,然后從文件系統中選擇計划。 該應用程序是您當前的部署,並且plan.xml可以隨時更新。 是的,該應用程序確實已重新啟動,但這可能是計划中的輕微中斷,而不是全面的重新部署。 將使用新的目錄路徑。 我不會授予您最簡單的JNDI設置界面,但是它確實可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM