2012-09-28 3 views
1

J'ai mis en œuvre DAO est basé sur Link dans la classe HibernateDAOFactory, il existe une méthodeDéploiement sur jboss en utilisant getCurrentSession

protected Session getCurrentSession() { 
    return HibernateUtil.getSessionFactory().getCurrentSession(); 
} 

Pour mettre en œuvre le même que je l'ai fait les changements de hibernate.cfg.xml comme décrit ci-dessous dans le articles Here 1 HERE 2

<property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property><br/> 
    <property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property> 
    <property name="hibernate.current_session_context_class">thread</property> 

Lors du déploiement sur jboss je reçois les erreurs suivantes

org.hibernate.TransactionException: could not register synchronization 

Je mis même la propriété

<property name="hibernate.current_session_context_class">jta</property> 

mais j'obtenu l'erreur suivante.

Caused by: org.hibernate.HibernateException: Unable to locate current JTA transaction 

at org.hibernate.context.JTASessionContext.currentSession(JTASessionContext.java:88) 

at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:574) 

Est-ce que je manque quelque chose ici? Ma version est jboss 4.2.3 et la version mise en veille prolongée est 3.3.1 et en utilisant Java 7.

+0

Comment définissez-vous la source de données? – user1516873

+0

Vous comment gérez-vous les transactions? Avez-vous le printemps ou le faire manuellement? – user1516873

+0

public static Session getCurrentSession() { Session currentSession = getSessionFactory(). GetCurrentSession(); if (! CurrentSession.getTransaction(). IsActive()) { currentSession.getTransaction(). Begin(); } return currentSession; \t} – Sandeep

Répondre

0

bien pour la gestion de session sur la base de fil j'ai enlevé la propriété transaction.factory_class et manager_lookup_class de mon hibernate.cfg.xml et cela a fonctionné comme un charme .
Mais pour la gestion de session basée sur jta, je reçois toujours la même erreur.

Questions connexes