是否可以使用Weblogic Server管理控制台(Weblogic 10.0)或编辑服务器的配置文件(config.xml)将自定义对象(String或URL)添加到JNDI?
答案 0 :(得分:5)
我不这么认为。引用Load objects in the JNDI tree:
使用管理控制台,您可以在JNDI树中加载WebLogic Server J2EE服务和组件,例如RMI,JMS,EJB和JDBC数据源。
事实上,我找不到使用控制台添加String
或URL
的方法。
AFAIK,标准方法是在部署描述符(web.xml,ejb-jar.xml)中放置env-entry
:
<env-entry>
<env-entry-name>string/foo</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>foobar</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>url/bar</env-entry-name>
<env-entry-type>java.net.URL</env-entry-type>
<env-entry-value>http://foobar/</env-entry-value>
</env-entry>
答案 1 :(得分:1)
我已经达成了同样的问题。例如,在Websphere中,我可以向JNDI添加任意参数,如临时目录,密码和其他信息,而无需重新编译/重建EAR。
我已经搜索了一段时间,似乎Weblogic缺乏此功能。我所做的是编写一个帮助器类,首先在JNDI中搜索给定的配置键,如果找不到它,则返回搜索环境或系统变量。
也许这可以增强,以便搜索那些在运行时发现的应用程序名称或上下文根目录前缀的属性,以避免在部署同一EAR的多个实例时发生名称冲突。
答案 2 :(得分:1)
您可以但是如果使用群集,您将失去高可用性。见:http://docs.oracle.com/cd/E11035_01/wls100/jndi/jndi.html#wp475702