Ola,
Tenho uma aplicação que usa Spring 3 no container web, e tenho um modulo EJB 3, ambos rodando no JBOSS 4.2.3, faço a injeção do EJB no spring via Annotation @EJB, até ai tudo bem funciona normal, mas estou tendo o velho problema de lazy, configurei o OpenEntityManagerInViewFilter da seguinte forma:
(WEB)
web.xml
<filter>
<filter-name>openEntityManagerInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openEntityManagerInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
spring.xml
<context:load-time-weaver
weaver-class="org.springframework.instrument.classloading.SimpleLoadTimeWeaver" />
<jee:jndi-lookup id="entityManagerFactory" jndi-name="java:/EJBMODULE"/>
<jee:jndi-lookup id="jbossTransactionManager" jndi-name="java:/TransactionManager"/>
<jee:jndi-lookup id="jbossUserTransaction" jndi-name="UserTransaction"/>
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager" ref="jbossTransactionManager" />
<property name="userTransaction" ref="jbossUserTransaction" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
<tx:jta-transaction-manager />
<context:annotation-config />
<context:component-scan base-package="org.springmvc.spring" />
<!-- <import resource="security-config.xml"/> -->
<import resource="spring-mvc.xml" />
<import resource="spring-webflow.xml" />
(EJB)
persistence.xml
<persistence-unit name="EJBMODULE">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:MySqlDS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<property name="transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
</properties>
</persistence-unit>
ERRO:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined in class path resource [org/springmvc/resources/spring-context.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: ELBMODULE] Unable to build EntityManagerFactory
Caused by: org.hibernate.HibernateException: The chosen transaction strategy requires access to the JTA TransactionManager
Já procurei na net mas não achei algo que resolvesse.
Alguém sabe o que não sei ?
Obrigado.