如何在WebSphere7JNDI中配置字符串值?

如何在WebSphere7JNDI中配置字符串值?,websphere,jndi,websphere-7,Websphere,Jndi,Websphere 7,事实上,我以前发现过这样的信息: 我想用“干净”的方式()。也许我对WebSphere太生疏了,我的头脑完全被这篇文章搞糊涂了,因为它展示了一个更复杂的例子 有人能给我简单介绍一下如何配置WebSphere以便在JNDI中绑定字符串值吗?非常感谢好吧,假设您想要存储的是一个“配置”元素,我实际上会花时间使用资源环境提供者来实现它,因为它是一种更灵活、更便携的方法 要使用JNDI绑定字符串,请使用“字符串命名空间绑定”: 已编辑(添加有关ResEnv的详细信息): factory类是您编写的类,

事实上,我以前发现过这样的信息:

我想用“干净”的方式()。也许我对WebSphere太生疏了,我的头脑完全被这篇文章搞糊涂了,因为它展示了一个更复杂的例子


有人能给我简单介绍一下如何配置WebSphere以便在JNDI中绑定字符串值吗?非常感谢

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

要使用JNDI绑定字符串,请使用“字符串命名空间绑定”:

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

factory类是您编写的类,而不是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中创建一个新的资源环境提供程序。对于可引用的,将MyFactory的完全限定类名作为“factory类”,将MyConfig的完全限定类名作为“类”

接下来,添加一个资源环境条目。给它一个JNDI名称,比如说
myresources/test
。从下拉框中选择可引用项

单击“自定义属性”,并在此处添加键值对

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


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

我发布了一些,以及它们的优缺点。它有点过时了,但应该仍然适用。

是否有关于使用资源环境提供程序实现该功能的参考资料?从我在引用的SO问题中读到的内容来看,使用字符串名称空间绑定似乎是一种黑客行为。我尝试使用ResourceEnvironment Provider,但找不到有关在创建引用文件时使用哪个工厂类的信息(我发现有人使用com.ibm.rpm.factory.StringFactory,但我无法让它工作),以及如何使用该引用文件配置字符串资源环境项的信息。如果有人能给我一些提示,那就太好了。:)实际上,我想要存储的实际上只是一个字符串。如果是这样的话,Websphere是否提供了任何我可以直接使用的工厂?尽管我希望使用一种“更干净”的方式将字符串绑定到JNDI,以避免使用“名称空间绑定”的技巧,因为没有人给出这个答案,但我接受了最接近的答案,即这个答案IBM链接已经死了。