2

事实上,我之前发现过这样的消息: 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 中绑定字符串值的简要步骤?非常感谢

4

2 回答 2

4

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

要使用 JNDI 绑定字符串,请使用“字符串命名空间绑定”: 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 配置,重新启动服务器并重试。向 发出 JNDI 查找myresources/test,您将获得一个MyConfig包含您放置在那里的所有自定义属性的实例。

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

于 2012-09-07T23:31:53.410 回答
1

我发布了一些JNDI 配置技巧以及它们的优缺点。它有点过时,但仍应适用。

于 2012-09-12T03:22:20.890 回答