2012-09-05 109 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消息中自定義的,我可以在獲取對象後再查找它們。 「附加屬性」是我不得不輸入「值」屬性。做這個改變後,一切順利