Seam建議使用擴展持久上下文在有狀態會話Bean,以便擁有Seam管理的持久性。接縫管理的交易操作方法
我不清楚上述建議是否會影響我們希望進行Seam管理的交易的方式。這是因爲我們的架構不同。我們有一個無國籍 EJB下面的持久化上下文:
@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class CrudServiceBean implements CrudService {
@PersistenceContext(type = PersistenceContextType.TRANSACTION)
private EntityManager em;
...
}
我們的DAO調用上述CrudServiceBean是無狀態的EJB(其中一些還Seam組件)與@TransactionAttribute(TransactionAttributeType.REQUIRED)。所以,我們的交易是由容器(的WebLogic),而不是Seam處理。我們現在需要滿足以下場景:我們需要一個前端Seam組件(非EJB)調用多個DAO(EJB)方法並將它們全部包裝在單個事務中。如果我理解正確,我們需要擁有Seam管理的事務。
纔能有Seam管理的事務,如我所描述的,而不必Seam管理的持久化上下文情景?或者兩者不相關?
我只是想了解這裏。這是否意味着如果我有nonEJB接縫組件,接縫無法管理交易,我必須遵循這裏描述的類似模式? – Arash 2012-03-05 21:51:55