[英]Where can I place eligible candidates for CDI in a Glassfish v3 deployment?
我在一個包含@Inject X x
的 jar (a.jar)中有代碼。
我想通過另一個jar 中的實現來滿足注入(b.jar,是一個有效的 bean 存檔等)。
據我了解,我無法在單獨的 WAR 獨立存檔中部署 a.jar 和 b.jar,因為它們是獨立的 CDI 明智的。 我也許可以將 b.jar 放在 Glassfish 為所有部署提供的 lib 文件夾中(但這是“純 Java 6 EE”,這意味着我不能以與戰爭或耳朵相同的方式部署?)。 我可能能夠在與 a.war 或 a.jar 一起放置在 lib 中的 EAR 中提供 b.jar 但我對此並不熟悉。
我的問題是部署 a.jar 和 b.jar 有哪些選項,以便 Glassfish(當前為 3.0.1,但如果效果更好我會考慮 3.1.1)將正確解決這種依賴關系? 我正在尋找一份詳盡的清單。
(編輯:我更喜歡 b.jar 可以獨立於 a.jar 部署的解決方案)
我認為一個不錯的選擇是將a.jar
和b.jar
放在項目的lib
文件夾中。 請告訴您是否認為它有缺點。
我想看看是否可以將b.jar
中的相關對象轉換為 EJB,從而有效地將b.jar
轉換為 EJB 3“服務”。
然后,在a.jar
(以及任何其他需要該服務的代碼)中,我將使用 CDI Producer 方法執行 JNDI 查找,允許我像任何本地資源一樣@Inject
EJB。
Alternatively, if you can also turn a.jar
into an EJB 3 'service' then EJB's from b.jar
can be injected directly by the container (using Java EE @EJB
or @Resource
injection) into a.jar
's EJBs.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.