Bonjour,
J'ai un plantage très aléatoire sur un serveur de test. Sur mon tomcat en local je n'ai pas de soucis.
Le plantage à exactement le même comportement que lorsque Spring ouvre 2 session hibernate en simultané : crash.
Sauf que là, j'ai regardé dans tous le code et je n'ai pas ce type de manipulation, dans tous les DAO j'utilise la session hibernate existante :
D'autre part si j'ouvrais 2 session en simultané l'erreur se produirais tous le temps. Lorsque l'erreur se produit je n'ai pas de stack et le serveur est inutilisable, il faut le redémarrer...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public Session getSession() { return hibernateTemplate.getSessionFactory().getCurrentSession(); }
Voici un extrait de la stack :
Le serveur reste planté sur cette dernière ligne de log.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [2009-05-27 11:52:09,090] DEBUG: Creating new transaction with name [com.teamlog.eloi.service.transactionnel.mail.IMailService.countMailATraite]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception [org.springframework.orm.hibernate3.HibernateTransactionManager] [2009-05-27 11:52:09,091] DEBUG: Opened new Session [org.hibernate.impl.SessionImpl@13aa6fe] for Hibernate transaction [org.springframework.orm.hibernate3.HibernateTransactionManager] [2009-05-27 11:52:09,092] DEBUG: Preparing JDBC Connection of Hibernate Session [org.hibernate.impl.SessionImpl@13aa6fe] [org.springframework.orm.hibernate3.HibernateTransactionManager]
et voici ma config Spring :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <tx:advice id="serviceTxAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="find*" propagation="REQUIRED" isolation="DEFAULT" read-only="true" /> <tx:method name="*" propagation="REQUIRED" rollback-for="Exception"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="serviceMethods" expression="execution(* com.teamlog..service.transactionnel..I*Service.*(..))" /> <aop:advisor advice-ref="serviceTxAdvice" pointcut-ref="serviceMethods" /> </aop:config> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean>
Je ne comprends pas... Auriez vous des pistes?
Merci.
Partager