Hi guys,
I'm trying to deploy a spring based Knowledege Session with JPA persistence
on Jboss 5.1, I was able to do it using a RESOURCE_LOCAL persistence unit
but I would like to use a container JTA based deployment.
Basically, JPAConfiguration requires a Spring PlatformTransactionManager
then I tried to use the following combination:
<bean id="springTxManager"
class="org.springframework.transaction.jta.JtaTransactionManager" />
<jee:jndi-lookup id="springEMF" jndi-name="java:DroolsEMF"/>
The problem is that using it,
SingleSessionCommandService.initTransactionManager does not create a
JPAManager.
So, my guess for this to work is to add support for this on
SingleSessionCommandService or change JPAConfiguration
(drools-spring-1.0.0.xsd) to accept that no transaction-manager is defined,
causing Drools JtaTransactionManager to lookup the TransactionMananger from
JNDI context.
The only way that I could deploy it is using these beans definitions:
<bean id="springEMF"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation"
value="classpath:META-INF/spring-persistence.xml" />
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
</bean>
<bean id="springTxManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="springEMF"
/>
</bean>
Thanks.
--
Best regards,
Cristiano Nicolai