-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Probleme Transaction JTA via JOTM
PostPosted: Thu Sep 06, 2007 8:31 am 
Newbie

Joined: Thu Sep 06, 2007 8:04 am
Posts: 1
Bonjour,

Voila j'essaie de mettre en place le JBossCache dans une application tournant sur Hibernate 3.2.1 avec Spring et tout ca sur un Tomcat 5.5
Je suis donc obligé de mettre en place des transactions JTA pour ce faire j'utilise JOTM.

La datasource est configurée dans Tomcat et on y accede via Spring
Code:
<Context>
  <Resource
    auth="Container"
    name="jdbc/energeo"
    type="javax.sql.DataSource"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    password="ENERGEO_ISI"
    username="ENERGEO_ISI"
    url="jdbc:oracle:thin:@***:1521:etudes"
    maxActive="10"/>
</Context>


   <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
      <property name="jndiName" value="java:comp/env/jdbc/energeo" />
   </bean>


La datasource fonctionne correctement car lors d'appel sans passé par JTA nous ne constatons pas de pblm.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
      <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      <property name="mappingResources">
         <list>
   <value>fr/sigma/standardstruts/metier/hbm/Pays.hbm.xml</value>
...
         </list>
      </property>

      <property name="hibernateProperties">
         <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>
            <prop key="hibernate.cache.provider_class">org.hibernate.cache.TreeCacheProvider</prop>
            <prop key="hibernate.cache.use_second_level_cache">true</prop>
            <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</prop>
            <prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JOTMTransactionManagerLookup</prop>
            <prop key="hibernate.jta.transaction"></prop>
         </props>
      </property>

       <property name="entityCacheStrategies">
         <props>
            <prop key="fr.standardstruts.metier.bo.Droit">read-only</prop>
         </props>
      </property>
   
   
   </bean>

   <!-- Spring Data Access Exception Translator Defintion -->
   <bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
      <property name="dataSource" ref="dataSource" />
   </bean>

   <!-- Hibernate Template Defintion -->
   <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
      <property name="sessionFactory" ref="sessionFactory" />
      <property name="jdbcExceptionTranslator" ref="jdbcExceptionTranslator" />
   </bean>
   
   <!--  Cf. la javadoc de la classe JotmFactoryBean contenue dans Spring. -->
   <bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean"/>
   
    <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
      <property name="userTransaction" ref="jotm"/>
    </bean>
</beans>



Lorsque je démarre mon serveur j'obtiens le message d'erreur suivant :


Code:
javax.servlet.ServletException: Unable to locate UserTransaction to check status; nested exception is org.hibernate.TransactionException: Unable to locate UserTransaction to check status
   at fr.sigma.siplec.SiplecPlugin.init(SiplecPlugin.java:145)
   at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:869)
   at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
   at javax.servlet.GenericServlet.init(GenericServlet.java:211)
   at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
   at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
   at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3951)
   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4225)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
   at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
   at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
   at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
   at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
   at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
   at org.apache.catalina.core.StandardService.start(StandardService.java:450)
   at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)



Si quelqu'un a une idée de solution ca me rendrait un grand-service
Merci


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.