2

実際、私は以前にそのようなメッセージを見つけました :

「クリーン」な方法を実行したい ( http://www.ibm.com/developerworks/websphere/library/techarticles/0611_totapally/0611_totapally.html )。たぶん、私は WebSphere にあまりにも無頓着なのかもしれません。この記事は、より複雑な例を示しているため、私の心は完全に混乱しています。

JNDI で文字列値をバインドできるように WebSphere を構成する方法について簡単な手順を教えてもらえますか? 本当にありがとう

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 ではなく、ユーザーが作成するクラスです。1つの例を次に示します。

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 に答える