anonymous wrote : 1. I am not able to locate the class TransactionalSeamPhaseListener in
Seam 2.0? Has it been replaced by the general SeamPhaseListener?
|
Ya, it was removed in 2.0 beta and was replaced by the
"transaction-management-enabled" attribute
anonymous wrote :
| 2. Where can I download the 2.0.0. CR1? (you mean RC1?)
|
Unfortunately it is not out yet. Feel free to checkout the latest from CVS and build your
own snapshot though.
anonymous wrote :
| 3. I want to deploy my application in Tomcat, where no UserTransaction is available in
JNDI? I encountered some problem in the class org.jboss.seam.transaction.Transaction,
which always exists the method getUserTransaction with a runtime exception: I am forced to
disable the seam tx management in components.xml with <core:init debug="true"
transaction-management-enabled="false"/> to get rid of the problem. But I
think I am then only relying on the spring tx management and might get
LazyInitilizationException. Is my understanding right?
So first of all in 2.0.0 CR1 you will be able to use a spring TM as a Seam TM and will be
able to enable "transaction-management-enabled". For now though who is doing
the transaction management has nothing to do with getting LazyInitializationExceptions.
What "transaction-management-enabled" disabled will mean is that when you wish
to flush() your conversation scoped PC it will be best to do it inside of a Service call
with @Transactional.
Otherwise your configuration looks fine otherwise. A couple of points:
1. You don't need to inject a dataSource into your JpaTransactionManager. I'm
not sure if it will mess things up or not but I know it is not necessary.
2. Make sure your components.xml has your entityManager definition:
| <persistence:managed-persistence-context name="entityManager"
| auto-create="true"
| entity-manager-factory="#{entityManagerFactory}"/>
And uncomment and rename your SeamManagedEntityManagerFactoryBean to something like:
| <bean id="seamEntityManagerFactory"
| class="org.jboss.seam.ioc.spring.SeamManagedEntityManagerFactoryBean">
| <property name="persistenceContextName" value="entityManager"
/>
| </bean>
And make sure that you use your seamEntityManagerFactory with your JpaTransactionManager
like:
| <bean id="transactionManager"
| class="org.springframework.orm.jpa.JpaTransactionManager">
| <property name="entityManagerFactory"
| ref="seamEntityManagerFactory" />
| </bean>
|
Otherwise read over more closely the Seam+Spring docs regarding Persistence contexts.
Mike
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4074470#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...