代码之家  ›  专栏  ›  技术社区  ›  Tadeusz Kopec for Ukraine yespbs

在WebLogic10上向JNDI添加自定义对象

  •  11
  • Tadeusz Kopec for Ukraine yespbs  · 技术社区  · 15 年前

    是否可以使用WebLogicServer管理控制台(WebLogic10.0)或通过编辑服务器的配置文件(config.xml)将自定义对象(字符串或URL)添加到JNDI?

    3 回复  |  直到 10 年前
        1
  •  6
  •   Pascal Thivent    15 年前

    我不这么认为。引用 Load objects in the JNDI tree 以下内容:

    使用管理控制台,您可以在JNDI树中加载WebLogicServerJ2EE服务和组件,例如RMI、JMS、EJB和JDBC数据源。

    实际上,我找不到一种方法来添加 String URL 使用控制台。

    阿法克,标准的方法是 env-entry 在部署描述符(web.xml、ejb jar.xml)中:

    <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>
    
        2
  •  2
  •   st.never    13 年前

    我也遇到了同样的问题。例如,在WebSphere中,我可以向JNDI添加任意参数,如临时目录、密码和其他信息,而无需重新编译/重建EAR。

    我已经搜索了一段时间,似乎WebLogic缺少这个功能。我所做的是编写一个助手类,该类首先在JNDI中搜索给定的配置键,如果找不到,则返回到搜索环境或系统变量。

    也许可以增强这个功能,以便在运行时搜索那些以应用程序的名称或上下文根为前缀的属性,以避免在部署同一EAR的多个实例时发生名称冲突。

        3
  •  2
  •   Viktor    10 年前

    您可以,但是如果使用集群,您将失去高可用性。见: http://docs.oracle.com/cd/E11035_01/wls100/jndi/jndi.html#wp475702