cdi

    3熱度

    1回答

    我應該傳遞一些HTTP請求中包含的HTTP頭信息給一個EJB,我不想在需要它們的地方添加參數並傳遞它們。所以我使用RequestScoped bean來保存我的標題值。這個實現是否正常,或者我誤解了@RecuestScoped beans的概念? 首先我得到的頭用一個攔截器(RestEasy的),並把它們保存到我的請求範圍豆: @Provider @ServerInterceptor publ

    0熱度

    1回答

    環境: JAVA EE 7 CDI WildFly 8.2.0 MyFaces的2.2.8 問題: 我想用myFaces 2.2.8作爲默認的JSF實現來運行WildFly 8.2.0。 安裝完成。造成這種情況的細節上的另一個SO問題: Installing Apache MyFaces 2 on WildFly 8.2.0 當我的應用程序戰爭部署在WildFly 8.2.0,以下異常被拋出並部署

    1熱度

    1回答

    我想了解攔截器是如何工作的,並且我有一個關於生命週期的問題。 我的CacheableInterceptor有一個@Inject註解,以獲得一個記錄器。 Logger @Producer方法(類LoggerFactoryImpl)在同一個bean實例上被調用3次(參見日誌跟蹤)。 這意味着它被調用一次每個攔截*方法(我試圖刪除interceptPreDestoy方法,生產者被調用兩次)。 我在攔截器

    0熱度

    1回答

    我試圖實現的是具有帶動態name參數的@Resource。具體來說,我想用@Resource(name = "{JNDI_NAME_PARAM}")注入一個DataSource對象,因爲我們可以在應用程序服務器中配置許多數據源,並且應用程序使用的數據源在.xml或.config文件中定義。由於在編譯期間我不知道數據源的名稱,所以我需要能夠在運行時獲得它。現在我正在注入一個自定義的@Applicat

    0熱度

    1回答

    我們在我們的應用程序中使用CDI(不是EJB)。我們有一個資源層,一個業務bean層和一個數據庫處理器bean層。所有這些豆都是@RequestScoped。現在資源注入了一個商業bean,這個商業bean又注入了它所需的所有dbhandler bean。由於這是CDI並且沒有對象池(至少從我所知道的)有沒有一種方法來決定哪些bean被注入(並因此創建)取決於所謂的方法?例如,我有2個業務bean

    1熱度

    1回答

    我完全不知所措!我有這個類: package com.company.resources import com.company.transport.Repository; //an interface for an EJB import com.company.transport.Expression; //a simple DTO, returned by the Interface p

    1熱度

    2回答

    我有一個網上商店應用程序。我想改進「從購物車中刪除」功能。我不想問用戶他是否想從車中「真正地」移除位置,而是想讓他取消操作。 當前用戶點擊購物車中產品的「X」按鈕時,表格中的一行變爲「已移除,點擊取消」。在後面有一個CartPosition對象的列表,每個標記都有removed。刪除的產品仍在列表中,但該標誌設置爲true。它使產品在列表中的適當位置仍然可見,但在視圖方面,我可以以另一種方式呈現它

    1熱度

    1回答

    我有以下實體: ​​ 要設置密碼,必須提供的明文密碼,而是存儲實際的密碼是明文密碼的哈希值。問題是實際的哈希計算是依賴於業務的。更具體地講,我有以下的接口和會話Bean: public interface PasswordHash { String hash(String password); } @Stateless public class UserManager {

    1熱度

    2回答

    問題:在嘗試將WAR部署到Glassfish 4.1.1時,我總是收到WELD異常。該應用程序在Wildfly 9.0上正確部署。 異常而加載的應用程序:java.lang.IllegalStateException:ContainerBase.addChild:啓動:org.apache.catalina.LifecycleException:org.apache.catalina.Lifecy

    0熱度

    1回答

    在方法中,我可能需要生成一個下載bean來獲取文件。由於我並行接收這些電話,我只想下載一次該文件。我不知道要表達JEE/CDI下面的僞代碼的正確方法: if (download_required) { monitor.enter(); if (!map.ContainsKey(downloadPath)) { //CDI inject new instan