2014-10-06 49 views
0

我正在嘗試將Activiti-BPM框架集成到Java EE Web應用程序中。 Moment的主要目標是將EJB作爲DelegateExpression注入Servicetask(處理數據庫操作)。Activiti - DelegateExpression not Resolving

,我讀了Activiti的不(還)與EJB的工作,所以我註釋的類是這樣的:

@Named 
@LocalBean 
@Stateless 
@Dependent 
public class DatabaseWriter implements JavaDelegate {...} 

,並嘗試注入它以多種方式是這樣的:

activiti:delegateExpression="${DatabaseWriter}" 
activiti:delegateExpression="DatabaseWriter" 
activiti:delegateExpression="$DatabaseWriter" 

respectivley來檢查它是否只是一個Bug或其他東西:

activiti:expression="${DatabaseWriter.execute(execution)}" 

無論如何,我收到異常「無法解決DatabaseWriter,沒有實現JavaDelegate名稱DatabseWriter的bean foudn ...」

我測試了類本身 - 通過不使用cdi - JPA沒有工作,但類可以通過Activiti實例化並執行方法被執行 - 所以類代碼本身是可以的。

我也嘗試在JAX-RS EJB中注入類 - 它們都與CDI和@EJB一起工作。問題的關鍵在於我試圖將其帶入Activiti的方式。

我也做了問題的屏幕截圖(全部代碼,XML和的LogMessage)爲了更好地理解,如果它可以幫助:

http://s29.postimg.org/tmiknudjb/problem.jpg

感謝您的幫助或的竅門!

問候, BillDoor

回答

2

Oracle documentation

與@Named註釋來註釋邊界(CART)使得 車立即表達語言(EL)在 JSP和JSF表達式可見。此@Named註釋採用 帶註釋的類的簡單名稱,將第一個字符置爲小寫,並將其直接公開給JSF頁面(或JSP),即 。

Activiti使用相同的表達語言(EL),所以我的猜測是你嘗試;

activiti:delegateExpression="${databaseWriter}" 

此外,我nevered使用EJB和Activiti,所以我只是猜測,但上面的例子是它如何與Spring的工作。

希望它有幫助。

+1

愚蠢的人有愚蠢的閱讀能力認爲你比我好 - 感謝它的作品^^ – billdoor 2014-10-06 11:20:12