繁体   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