是否可以使用Weblogic Server管理控制台(Weblogic 10.0)或通过编辑服务器配置文件(config.xml)来将自定义对象(字符串或URL)添加到JNDI中?
是否可以使用Weblogic Server管理控制台(Weblogic 10.0)或通过编辑服务器配置文件(config.xml)来将自定义对象(字符串或URL)添加到JNDI中?
使用管理控制台,您可以将WebLogic Server J2EE服务和组件(如RMI、JMS、EJB和JDBC数据源)加载到JNDI树中。
事实上,我找不到使用控制台添加String
或URL
的方法。
据我所知,标准的方法是在部署描述符(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>
我曾经遇到过完全相同的问题。例如,在Websphere中,我可以添加任意参数(如临时目录、密码和其他信息)到JNDI中,而无需重新编译/重建EAR。
我搜索了一段时间,似乎Weblogic缺少这个功能。我的做法是编写一个辅助类,首先搜索给定配置键的JNDI,如果找不到,则回退到搜索环境或系统变量。
也许可以增强此功能,以在运行时发现应用程序名称或上下文根前缀的属性,以避免多个相同EAR实例部署时出现名称冲突。