[
http://jira.jboss.com/jira/browse/JBSEAM-2702?page=comments#action_12401605 ]
F BI commented on JBSEAM-2702:
------------------------------
I used
<spring:spring-transaction
platform-transaction-manager="#{localTransactionManager}"/> in
components.xml
and the spring config is:
<bean id="localTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="hibernateSessionFactory"
/>
</bean>
I was able to isolate the loop in the stacktrace. It is:
at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
at org.jboss.seam.Component.callComponentMethod(Component.java:2119)
at org.jboss.seam.Component.unwrap(Component.java:2145)
at org.jboss.seam.Component.getInstance(Component.java:1924)
at org.jboss.seam.Component.getInstance(Component.java:1887)
at org.jboss.seam.Component.getInstance(Component.java:1864)
at org.jboss.seam.Component.getInstance(Component.java:1859)
at org.jboss.seam.bpm.ProcessInstance.instance(ProcessInstance.java:65)
at
org.jboss.seam.contexts.BusinessProcessContext.getProcessInstance(BusinessProcessContext.java:218)
at
org.jboss.seam.contexts.BusinessProcessContext.getContextInstance(BusinessProcessContext.java:205)
at org.jboss.seam.contexts.BusinessProcessContext.get(BusinessProcessContext.java:56)
at org.jboss.seam.contexts.Contexts.lookupInStatefulContexts(Contexts.java:209)
at org.jboss.seam.Component.getInstance(Component.java:1874)
at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)
at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)
at org.jboss.seam.el.SeamELResolver.resolveBase(SeamELResolver.java:166)
at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:53)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:73)
at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)
at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:112)
at
org.jboss.seam.ioc.spring.SpringTransaction.getPlatformTransactionManager(SpringTransaction.java:91)
at org.jboss.seam.ioc.spring.SpringTransaction.getStatus(SpringTransaction.java:137)
at
org.jboss.seam.transaction.AbstractUserTransaction.isActiveOrMarkedRollback(AbstractUserTransaction.java:32)
at org.jboss.seam.util.Work.workInTransaction(Work.java:27)
at org.jboss.seam.bpm.ProcessInstance.getProcessInstance(ProcessInstance.java:39)
at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
Provide mechanism to obtain Spring PlatformTransactionManager
directly from BeanFactory
---------------------------------------------------------------------------------------
Key: JBSEAM-2702
URL:
http://jira.jboss.com/jira/browse/JBSEAM-2702
Project: JBoss Seam
Issue Type: Feature Request
Components: Spring
Affects Versions: 2.1.0.A1
Reporter: Michael Youngstrom
Assigned To: Michael Youngstrom
Fix For: 2.1.0.GA
It appears that when Seam EL searches the JBPM space it creates a transaction. If using
Spring Transactions EL is required to obtain an instance of the Spring
PlatformTransactionManager which then looks in the SeamELResolver before the
SpringELResolver which then causes an infinite loop. Since Transactions are such a core
aspect of Seam I should probably provide a way to get the Spring
PlatformTransactionManager outside of EL to help short circuit such recursive situation.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira