websphere - 如何在 Websphere 7 JNDI 中配置字符串值?

标签 websphere jndi websphere-7

其实我之前就发现过这样的消息: Configuring and looking up a simple String via JNDI in WebSphere

我想做“干净”的方式( http://www.ibm.com/developerworks/websphere/library/techarticles/0611_totapally/0611_totapally.html )。也许我对 WebSphere 还太陌生,这篇文章完全搞乱了我的思维,因为它展示了一个更复杂的示例。

有人可以告诉我如何配置 WebSphere 以便我可以在 JNDI 中绑定(bind)字符串值的简要步骤吗?非常感谢

最佳答案

好吧,假设您要存储的是“配置”元素,我实际上会花时间使用资源环境提供程序来实现它,因为它是一种更灵活、显然更便携的方法。

为了使用 JNDI 绑定(bind)字符串,请使用“字符串命名空间绑定(bind)”:http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/unam_rstring_namespace.html

编辑(添加有关 ResEnv 的详细信息):

工厂类是您编写的类,而不是 IBM 的类。下面是一个示例:

public class MyFactory implements javax.naming.ObjectFactory {
    @Override
    public Object getObjectInstance(Object object, Name name, Context context, Hashtable env) throws NamingException {
        MyConfig cfg = new MyConfig();

        for (Enumeration e = ((Reference) object).getAll(); e.hasMoreElements();) {
            RefAddr addr = (RefAddr) e.nextElement();
            String key = addr.getType();
            Object value = addr.getContent();
            cfg.put(key, value);
        }
    }
}

(我们假设 MyConfig 是一个具有 get(String)put(String, String) 方法的简单类)

接下来,在 WebSphere 中创建一个新的资源环境提供程序。对于 Referenceable,将 MyFactory 的完全限定类名作为“工厂类”,将 MyConfig 的完全限定类名作为“类”。

接下来,添加资源环境条目。为其指定一个 JNDI 名称,例如 myresources/test。从下拉框中选择“可引用”。

点击“自定义属性”,然后在其中添加键值对。

保存 WebSphere 配置,重新启动服务器并重试。向 myresources/test 发出 JNDI 查找,您将获得一个 MyConfig 实例,其中包含您放置在其中的所有自定义属性。

让我们知道进展如何。祝你好运!

关于websphere - 如何在 Websphere 7 JNDI 中配置字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12312699/

相关文章:

mysql - 让 JNDI 与 RDS 一起工作

java - 查找 InitialContext.lookup 检索的数据源在哪里定义?

java - 列出远程机器上 jndi 中所有条目的代码

java - JSF 2.0 可以与 Websphere 应用程序服务器版本 7.x 一起使用吗

websphere - RAD(Rational Application Developer)-清理与发布与重启

java - Websphere 中的 URL 重写规则

java - 对于 Websphere MQ 教程

java - Websphere - 未找到 JDNI 名称

java - Apache HTTPClient 和 Websphere Application Server 配置

java - 如何使用 Cargo 创建服务器并将 Web 应用程序部署到 WebSphere Liberty 中?