3

我是 Java EE 6 和 JNDI 的新手,所以如果我的问题看起来微不足道,请原谅我

我通过管理控制台向 Glassfish 3.1.2 JNDI 资源添加了一个自定义资源:

CommonTasks->资源->JNDI->自定义资源

  • JNDI 名称:someNumber
  • 资源类型:java.lang.Integer
  • 工厂类:org.glassfish.resources.custom.factory.PrimitivesAndStringFactory
  • 附加属性:[名称:数字;值:6]

现在我希望在我作为 ear 部署到 glassfish 服务器的 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 回答