3

私は Java EE 6 と JNDI を初めて使用するので、些細な問題でしたらご容赦ください。

管理コンソール経由で Glassfish 3.1.2 JNDI リソースにカスタム リソースを追加しました。

CommonTasks->Resources->JNDI->Custom Resources

  • JNDI 名: someNumber
  • リソースタイプ: java.lang.Integer
  • ファクトリ クラス: org.glassfish.resources.custom.factory.PrimitivesAndStringFactory
  • 追加プロパティ: [名前: 数字; 値: 6]

ここで、グラスフィッシュ サーバーに ear としてデプロイする Java EE アプリでこのリソースを調べたいと思います。私は運がないのでこれを試しました:

    InitialContext ctx = new InitialContext();     
    Object o =  ctx.lookup("someNumber");

NameNotFoundExceptionが発生し続けます。私が間違っていることは何ですか?プロバイダー URL を使用して環境ハッシュテーブルを初期コンテキスト コンストラクターに渡すことができることは知っていますが、これは問題ですか?

4

1 に答える 1

4

そんな初歩的なミス。

NameNotFoundException は、実際には整数の jndi リソースに値がないことが原因であることがわかりました。追加のプロパティが JMS メッセージのようにカスタムであり、後でオブジェクトをフェッチした後に調べることができると考えるのは愚かでした。「追加のプロパティ」は、「値」プロパティを入力する必要がありました。この変更を行った後、すべてがスムーズに機能します

于 2012-09-07T07:08:18.740 に答える