Hi,
I am using Spring, Hibernate and Websphere for an application. I want to use JTA Transaction.
All my transactions are rolled back, I am getting this message - WLTC0032W: One or more local transaction resources were rolled back during the cleanup of a LocalTransactionContainmen
t. I think that Hibernate is starting its own transactions and they are rolled back by Websphere Global Transactions. How do I make Hibernate use Websphere JTA Transactions?
I tried several combinations but I think I am missing something.
Any help would be greatly appreciated.
Configuration is as follows -
<?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="ccmDataSource" class="org.springframework
.jndi.Jndi
ObjectFact
oryBean">
<property name="jndiName" value="ccmds"/>
</bean>
<bean id="mySessionFactory" class="org.springframework
.orm.hiber
nate3.Loca
lSessionFa
ctoryBean"
>
<property name="dataSource" ref="ccmDataSource"/>
<property name="mappingResources">
<list>
<value>/web-inf/mapping/Se
ctions.hbm
.xml</valu
e>
</list>
</property>
<property name="hibernateProperties"
>
<value>
org.hibernate.dialect.Orac
leDialect
</value>
</property>
<!--
<property name="hibernateProperties"
>
<props>
<prop key="hibernate.dialect">or
g.hibernat
e.dialect.
Oracle9Dia
lect</prop
>
<prop key="hibernate.transaction
.factory_c
lass">org.
hibernate.
transactio
n.CMTTrans
actionFact
ory</prop>
<prop key="hibernate.transaction
.manager_l
ookup">org
.hibernate
.transacti
on.Websphe
rExtendedJ
TATransact
ionLookup<
/prop>
<prop key="hibernate.transaction
.flush_bef
ore_comple
tion">true
</prop>
<prop key="hibernate.transaction
.auto_clos
e_session"
>true</pro
p>
</props>
</property>
-->
</bean>
<bean id="myTxManager" class="org.springframework
.transacti
on.jta.Jta
Transactio
nManager"/
>
<!--
<bean id="wsJta" class="org.springframework
.transacti
on.jta.Web
SphereTran
sactionMan
agerFactor
yBean"/>
<bean id="transactionManager" class="org.springframework
.transacti
on.jta.Jta
Transactio
nManager" >
<property name="userTransactionName"
><null /></property>
<property name="transactionManager" ref="wsJta" />
</bean>
-->
<bean id="templateDesignDAO" class="com.ubs.ccm.dao.Tem
plateDesig
nDAOImpl">
<property name="sessionFactory" ref="mySessionFactory"/>
</bean>
<bean id="templateDesignService"
class="org.springframework
.transacti
on.interce
ptor.Trans
actionProx
yFactoryBe
an">
<property name="proxyInterfaces">
<list>
<value>
com.ubs.ccm.dao.TemplateDe
signDAO
</value>
</list>
</property>
<property name="target">
<ref bean="templateDesignDAO"/>
</property>
<property name="transactionManager">
<ref bean="myTxManager"/>
</property>
<property name="transactionAttribute
s">
<props>
<prop key="addSection">
PROPAGATION_REQUIRED,ISOLA
TION_DEFAU
LT
</prop>
</props>
</property>
</bean>
</beans>
Start Free Trial