2012-09-05 221 views
3

我是新来的Java EE 6和JNDI所以请原谅我,如果我的问题似乎微不足道JNDI查找失败

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

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

  • JNDI名称:someNumber
  • 资源类型:java.lang.Integer中
  • 厂ç lass:org.glassfish.resources.custom.factory.PrimitivesAndStringFactory
  • 其他属性:[Name:digit;价值:6]

现在我想在Java EE应用程序中看到这个资源,我将它部署到glassfish服务器上。 我已经试过这没有运气:

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

我不断收到一个的NameNotFoundException。 你能告诉我我做错了什么?我知道你可以将环境散列表传递给具有提供者URL的初始上下文构造函数 - 这是问题吗?

回答

4

这样的菜鸟错误。

原来,NameNotFoundException实际上是由我的整数jndi资源没有一个值造成的, 我很愚蠢地认为Additional属性是在JMS消息中自定义的,我可以在获取对象后再查找它们。 “附加属性”是我不得不输入“值”属性。做这个改变后,一切顺利