2012-01-20 41 views
2

有誰知道JBoss @Service EJB的支持事務嗎?我想使用一個EntityManager,但得到「EntityManager必須在事務中使用」的錯誤。在EJB上明確指定容器管理的事務和必需的事務並沒有什麼不同。做@Service JBoss EJB的支持事務嗎?

謝謝。

更新

這裏是我使用來獲得一個EntityManager代碼:

@PersistenceContext(unitName = "MyPersistenceContextName") 
    private EntityManager m_entityManager; 

這裏是失敗的碼:

m_entityManager.persist(objectToSave); 
    m_entityManager.flush(); 

它沒有第一線。

+0

理論上@Service註解支持由容器管理的本地和遠程接口,所以它將具有事務支持。請發佈您的代碼。 –

+0

可以肯定的是,我們討論'org.jboss.annotation.ejb.Service'? –

回答

1

通過應用註釋@Service,它將在具有特定名稱的MBean服務器中安裝bean,該服務器在另一個類的另一個類加載程序&上運行。因此,這可能是MBean不支持事務&無法訪問上下文的原因。

除了通過MBean與數據庫進行交互之外,還可以將其委託給其他可以通過JNDI查找訪問的EJB bean。