2016-08-24 1 views
0

source de données avec JBoss EAP dans mon projet.Erreur de transaction JTA DATASOURCE JPA CDI

Pour une raison quelconque, lorsque j'essaie de conserver un objet, j'obtiens l'erreur ci-dessous.

JBAS011469: La transaction est nécessaire pour effectuer cette opération (soit utiliser une transaction ou d'un contexte de persistance étendue): javax.faces.FacesException: # {back.salvar}: javax.persistence.TransactionRequiredException: JBAS011469: opération est nécessaire pour effectuer cette opération (soit utiliser une transaction ou le contexte de persistance étendue)

Il y a la méthode @Transactional mais cette méthode lancer l'erreur. Quelqu'un?

@Stateless 
@Named 
public class BaseDao implements Serializable 
{ 
    private static final long serialVersionUID = -8993128837557701804L; 

    @PersistenceContext 
    protected EntityManager manager; 

    @Transactional 
    public void persist(Object object) 
    { 
     manager.persist(object); 
    } 

} 

PS: Tous les objets sont injectés avec le CDI, le gestionnaire est injecté avec la classe d'objet org.jboss.as.jpa.container.TransactionScopedEntityManager

+0

Pouvez-vous inclure votre 'persistence.xml' et l'implémentation de' # {back.salver} '? –

Répondre

1

En tant que votre grain de CDI est un bean session sans état EJB, vous n'avez pas besoin d'utiliser l'annotation @Transactional ici puisque EJB a la transaction CMT (Container Managed Transaction) par défaut.

@Transactional est utile pour gérer la transaction de transaction sur un bean géré par CDI (c'est-à-dire POJO).