我正在使用Jboss 7並有兩個單獨的部署,都包含單例EJB。EJB依賴於另一個EJB?
我需要一個EJB來訪問其他EJB,並能夠然而,調用它的方法,當應用程序服務器啓動,並嘗試部署他們倆似乎就沒有任何保障哪些人會首先開始(即使您將Dependencies: deployment.xxx.jar
設置爲另一個)。
我似乎無法使用@DependsOn
註釋,因爲它命名了一個特殊的EJB,它似乎不適用於不同的部署,因此我只有@EJB(lookup=JNDI_STRING)
作爲唯一的選項。然而,這種注入似乎並不能保證你查找的EJB實際上是開始查找發生時,導致NPE。顯然,如果僅僅使用@PostContruct
方法中的InitialContext
來查找JNDI上的第二個EJB,也會發生這種情況。
所以,基本上,我需要保證在一個部署EJB一個前將在另一個部署EJB的另一個開始,在相同的應用服務器。我認爲如果我懶惰地初始化從屬EJB(例如設置爲啓動時運行的HttpServlet
),可能會起作用,但這並不理想。
也許有一些明智的做法,我失蹤了嗎?我真的不想輪詢 EJB,直到它啓動。
爲什麼不能延遲加載參考,看它第一次需要? – jtahlborn
@jtahlborn它是一種註冊商/註冊用戶建立的,所以它基本上需要儘快,所以它的尷尬,只是等待的時間有些任意時間,然後嘗試查找 – Rhys
你有過的東西看起來像[此線程( https://community.jboss.org/thread/175625?start=15&tstart=1&_sscc=t)? – jtahlborn