如何用 weblogic JNDI 替换我的 web.xml 条目?
How can I replace my web.xml entries with weblogic JNDI?
我需要用无需重新部署即可更新的内容替换我的 web.xml 条目。起初,我想创建一个数据库 table,但后来有人建议使用 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 是什么,首先你需要生成一个默认的,这个你可以从上面的 link 中捏取,但是你可以通过检查这个 link:
然后我们需要替换我们需要的值,因为我们正在使用 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>
最后更新app(可以通过-plan选项默认上传plan)或者在控制台指定plan。
在控制台中,选择部署、select 更新并从文件系统中选择计划。
该应用程序是您当前的部署,plan.xml 可以随时更新。是的,应用程序确实重新启动了,但这可能是有计划的轻微中断,而不是全面的 redploy。
将使用新的目录路径。这不是我授予您的最简单的 JNDI 设置接口,但它确实有效。
我需要用无需重新部署即可更新的内容替换我的 web.xml 条目。起初,我想创建一个数据库 table,但后来有人建议使用 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 是什么,首先你需要生成一个默认的,这个你可以从上面的 link 中捏取,但是你可以通过检查这个 link:
然后我们需要替换我们需要的值,因为我们正在使用 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>
最后更新app(可以通过-plan选项默认上传plan)或者在控制台指定plan。 在控制台中,选择部署、select 更新并从文件系统中选择计划。 该应用程序是您当前的部署,plan.xml 可以随时更新。是的,应用程序确实重新启动了,但这可能是有计划的轻微中断,而不是全面的 redploy。 将使用新的目录路径。这不是我授予您的最简单的 JNDI 设置接口,但它确实有效。