You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@deltaspike.apache.org by 十三郎 <mi...@163.com> on 2013/09/27 10:41:01 UTC
i got a [A JTA EntityManager cannot use getTransaction] error
hi everyone:
i defined a @Transactional method run to error.
follow deltaspike jpamodule documents,i define a EntityManagerProducer
public class EntityManagerProducer
{
@PersistenceContext(unitName = "persistence0")
private EntityManager entityManager;
@Produces
@RequestScoped
protected EntityManager createEntityManager()
{
return this.entityManager;
}
protected void closeEntityManager(@Disposes EntityManager entityManager)
{
if (entityManager.isOpen())
{
entityManager.close();
}
}
}
and i want do some database action:
---------------------------
@Named("jpaTest")
public class JpaTest
{
@Inject
private EntityManager entityManager;
@Named
@Transactional
public void executeInTransaction(){
Query query = null;
String sql="insert into grandscape_user (user_name,user_password) values (:u,:p)";
query=entityManager.createNativeQuery(sql);
query.setParameter("u", "2013");
query.setParameter("p", "20132222");
query.executeUpdate();
}
}
-------------------
i use jsf to call method #{jpaTest.executeInTransaction}.
<h:commandButton value="jpa Method" action="#{jpaTest.executeInTransaction}" />
and persistence.xml:
---------------------
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="persistence0" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>
<properties>
<!-- Properties for Hibernate (default provider for JBoss AS) -->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.username" value="root" />
<property name="hibernate.connection.password" value="root" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/grandscape_website" />
<property name="hibernate.show_sql" value="true"/>
<!-- Only format when you need to debug, because it slows things down -->
<property name="hibernate.format_sql" value="false"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<!--
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
-->
</properties>
</persistence-unit>
</persistence>
------------
when i called #{jpaTest.executeInTransaction} method,the code run to a error:
----------------------------------------
16:39:53,889 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http--0.0.0.0-8080-1) #{jpaTest.executeInTransaction}: java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction(): javax.faces.FacesException: #{jpaTest.executeInTransaction}: java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction()
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:]
at javax.faces.component.UICommand.broadcast(UICommand.java:315) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) [jsf-impl-2.1.7-jbossorg-2.jar:]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.7-jbossorg-2.jar:]
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
Caused by: javax.faces.el.EvaluationException: java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction()
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [jsf-impl-2.1.7-jbossorg-2.jar:]
... 24 more
Caused by: java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction()
at org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_07]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_07]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_07]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java) [weld-core-1.1.5.AS71.Final.jar:]
at org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265) [deltaspike-jpa-module-impl-0.4.jar:0.4]
at org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130) [deltaspike-jpa-module-impl-0.4.jar:0.4]
at org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57) [deltaspike-jpa-module-impl-0.4.jar:0.4]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_07]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_07]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_07]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
at org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72) [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82) [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133) [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112) [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java) [weld-core-1.1.5.AS71.Final.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_07]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_07]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_07]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
at org.apache.el.parser.AstValue.invoke(AstValue.java:262) [jbossweb-7.0.13.Final.jar:]
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) [jbossweb-7.0.13.Final.jar:]
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [jsf-impl-2.1.7-jbossorg-2.jar:]
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
... 25 more
16:39:53,937 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/website_deltaspike].[FacesServlet]] (http--0.0.0.0-8080-1) Servlet.service() for servlet FacesServlet threw exception: java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction()
at org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_07]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_07]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_07]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java) [weld-core-1.1.5.AS71.Final.jar:]
at org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265) [deltaspike-jpa-module-impl-0.4.jar:0.4]
at org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130) [deltaspike-jpa-module-impl-0.4.jar:0.4]
at org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57) [deltaspike-jpa-module-impl-0.4.jar:0.4]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_07]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_07]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_07]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
at org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72) [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82) [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133) [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112) [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java) [weld-core-1.1.5.AS71.Final.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_07]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_07]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_07]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
at org.apache.el.parser.AstValue.invoke(AstValue.java:262) [jbossweb-7.0.13.Final.jar:]
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) [jbossweb-7.0.13.Final.jar:]
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [jsf-impl-2.1.7-jbossorg-2.jar:]
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [jsf-impl-2.1.7-jbossorg-2.jar:]
at javax.faces.component.UICommand.broadcast(UICommand.java:315) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) [jsf-impl-2.1.7-jbossorg-2.jar:]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.7-jbossorg-2.jar:]
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
16:39:54,093 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]] (http--0.0.0.0-8080-1) Exception sending request destroyed lifecycle event to listener instance of class org.jboss.weld.servlet.WeldListener: java.lang.IllegalStateException: JBAS011424: Container managed entity manager can only be closed by the container (auto-cleared at tx/invocation end and closed when owning component is closed.)
at org.jboss.as.jpa.container.TransactionScopedEntityManager.close(TransactionScopedEntityManager.java:98) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
at persist.EntityManagerProducer.closeEntityManager(EntityManagerProducer.java:26) [classes:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_07]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_07]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_07]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.bean.DisposalMethod.invokeDisposeMethod(DisposalMethod.java:158) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.bean.ProducerMethod$1.dispose(ProducerMethod.java:122) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.bean.ProducerMethod.destroy(ProducerMethod.java:197) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:31) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:132) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:146) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.context.AbstractManagedContext.deactivate(AbstractManagedContext.java:41) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:72) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.context.http.HttpRequestContextImpl.deactivate(HttpRequestContextImpl.java:86) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:103) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
-----------------------------------------------------
thanks very much!!!!!
Re: i got a [A JTA EntityManager cannot use getTransaction] error
Posted by Rodrigo <rc...@gmail.com>.
I had same error and including global alternatives at apache-deltaspike.properties solved this problem.
Enviado via iPhone
Em 28/09/2013, às 04:02, Christian Kaltepoth <ch...@kaltepoth.de> escreveu:
> BTW: Did you try the global-alternative approach mentioned in the JTA
> Support chapter of the documentation?
>
> Just create a file called /META-INF/apache-deltaspike.properties on your
> classpath (in case of Maven it is
> src/main/resources/META-INF/apache-deltaspike.properties) and add the
> following content to the file:
>
> globalAlternatives.org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy=org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy
>
> See:
>
> http://deltaspike.apache.org/jpa.html#jta-support
>
> Christian
>
>
>
> 2013/9/28 Christian Kaltepoth <ch...@kaltepoth.de>
>
>> Could you include the full stacktrace?
>>
>> Actually there should be no more ResourceLocalTransactionStrategy in the
>> stacktrace. Instead you should see BeanManagedUserTransactionStrategyinstead. At least if your
>> <alternatives> configuration worked.
>>
>> Which container do you deploy to?
>>
>> Christian
>>
>>
>> 2013/9/28 十三郎 <mi...@163.com>
>>
>>> Christian Kaltepoth:thanks verymuch!!!!
>>>
>>>
>>> i add the alternatives section to beans.xml.
>>>
>>> <beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="
>>> http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>> http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
>>> <interceptors>
>>>
>>> <class>org.apache.deltaspike.security.impl.extension.SecurityInterceptor</class>
>>>
>>> <class>org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor</class>
>>> </interceptors>
>>> <alternatives>
>>>
>>> <class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
>>> </alternatives>
>>> </beans>
>>>
>>> but the code still run to error(A JTA EntityManager cannot use
>>> getTransaction())
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> At 2013-09-27 16:52:29,"Christian Kaltepoth" <ch...@kaltepoth.de>
>>> wrote:
>>>> Did you follow the instructions in the "JTA Support" section of the
>>>> documentation?
>>>>
>>>> http://deltaspike.apache.org/jpa.html#jta-support
>>>>
>>>> It looks like your are using the ResourceLocalTransactionStrategy instead
>>>> of BeanManagedUserTransactionStrategy which is required in case of JTA.
>>>> Adding the following section to your beans.xml should fix your problem:
>>>>
>>>> <alternatives>
>>>>
>>>
>>>> <class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
>>>> </alternatives>
>>>>
>>>> Best regards
>>>>
>>>> Christian
>>>>
>>>> 2013/9/27 十三郎 <mi...@163.com>
>>>>
>>>>> hi everyone:
>>>>> i defined a @Transactional method run to error.
>>>>>
>>>>> follow deltaspike jpamodule documents,i define a EntityManagerProducer
>>>>> public class EntityManagerProducer
>>>>> {
>>>>> @PersistenceContext(unitName = "persistence0")
>>>>> private EntityManager entityManager;
>>>>> @Produces
>>>>> @RequestScoped
>>>>> protected EntityManager createEntityManager()
>>>>> {
>>>>> return this.entityManager;
>>>>> }
>>>>> protected void closeEntityManager(@Disposes EntityManager
>>>>> entityManager)
>>>>> {
>>>>> if (entityManager.isOpen())
>>>>> {
>>>>> entityManager.close();
>>>>> }
>>>>> }
>>>>> }
>>>>>
>>>>>
>>>>> and i want do some database action:
>>>>> ---------------------------
>>>>> @Named("jpaTest")
>>>>> public class JpaTest
>>>>> {
>>>>> @Inject
>>>>> private EntityManager entityManager;
>>>>> @Named
>>>>> @Transactional
>>>>> public void executeInTransaction(){
>>>>> Query query = null;
>>>>> String sql="insert into grandscape_user
>>> (user_name,user_password)
>>>>> values (:u,:p)";
>>>>> query=entityManager.createNativeQuery(sql);
>>>>> query.setParameter("u", "2013");
>>>>> query.setParameter("p", "20132222");
>>>>> query.executeUpdate();
>>>>> }
>>>>> }
>>>>> -------------------
>>>>>
>>>>>
>>>>> i use jsf to call method #{jpaTest.executeInTransaction}.
>>>>> <h:commandButton value="jpa Method"
>>>>> action="#{jpaTest.executeInTransaction}" />
>>>>>
>>>>> and persistence.xml:
>>>>> ---------------------
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>>>>> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
>>>>> version="2.0">
>>>>> <persistence-unit name="persistence0" transaction-type="JTA">
>>>>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>>>> <jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>
>>>>> <properties>
>>>>> <!-- Properties for Hibernate (default provider for JBoss
>>> AS)
>>>>> -->
>>>>> <property name="hibernate.dialect"
>>>>> value="org.hibernate.dialect.MySQLDialect"/>
>>>>> <property name="hibernate.connection.username"
>>> value="root"
>>>>> />
>>>>> <property name="hibernate.connection.password"
>>>>> value="root" />
>>>>> <property name="hibernate.connection.driver_class"
>>>>> value="com.mysql.jdbc.Driver" />
>>>>> <property name="hibernate.connection.url"
>>>>> value="jdbc:mysql://localhost:3306/grandscape_website" />
>>>>>
>>>>> <property name="hibernate.show_sql" value="true"/>
>>>>> <!-- Only format when you need to debug, because it slows
>>>>> things down -->
>>>>> <property name="hibernate.format_sql" value="false"/>
>>>>> <property name="hibernate.show_sql" value="true" />
>>>>> <property name="hibernate.hbm2ddl.auto" value="update" />
>>>>> <!--
>>>>> <property name="hibernate.hbm2ddl.auto"
>>> value="create-drop"/>
>>>>> -->
>>>>> </properties>
>>>>> </persistence-unit>
>>>>> </persistence>
>>>>> ------------
>>>>>
>>>>>
>>>>> when i called #{jpaTest.executeInTransaction} method,the code run to a
>>>>> error:
>>>>> ----------------------------------------
>>>>> 16:39:53,889 WARNING
>>>>> [javax.enterprise.resource.webcontainer.jsf.lifecycle]
>>>>> (http--0.0.0.0-8080-1) #{jpaTest.executeInTransaction}:
>>>>> java.lang.IllegalStateException: A JTA EntityManager cannot use
>>>>> getTransaction(): javax.faces.FacesException:
>>>>> #{jpaTest.executeInTransaction}: java.lang.IllegalStateException: A JTA
>>>>> EntityManager cannot use getTransaction()
>>>>> at
>>>>>
>>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
>>>>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>>>>> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
>>>>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>>>>> at
>>>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
>>>>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>>>>> at
>>>>>
>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
>>>>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>>>>> at
>>>>>
>>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
>>>>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>>>>> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>>>>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>>>>> at
>>>>> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>>>>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>>>>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
>>>>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>>>>> at
>>>>>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
>>>>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>>>>> at
>>>>>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
>>>>> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>>>>> at
>>>>>
>>> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
>>>>> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
>>>>> at
>>>>>
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
>>>>> Caused by: javax.faces.el.EvaluationException:
>>>>> java.lang.IllegalStateException: A JTA EntityManager cannot use
>>>>> getTransaction()
>>>>> at
>>>>>
>>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
>>>>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>>>>> at
>>>>>
>>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
>>>>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>>>>> ... 24 more
>>>>> Caused by: java.lang.IllegalStateException: A JTA EntityManager cannot
>>> use
>>>>> getTransaction()
>>>>> at
>>>>>
>>> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
>>>>> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
>>>>> at
>>>>>
>>> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
>>>>> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> [rt.jar:1.7.0_07]
>>>>> at
>>>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>> [rt.jar:1.7.0_07]
>>>>> at
>>>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> [rt.jar:1.7.0_07]
>>>>> at java.lang.reflect.Method.invoke(Method.java:601)
>>> [rt.jar:1.7.0_07]
>>>>> at
>>>>>
>>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
>>>>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>>>>> at
>>>>>
>>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
>>>>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>>>>> at
>>>>>
>>> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
>>>>> [weld-core-1.1.5.AS71.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
>>>>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>>>>> at
>>>>>
>>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
>>>>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>>>>> at
>>>>>
>>> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
>>>>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> [rt.jar:1.7.0_07]
>>>>> at
>>>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>> [rt.jar:1.7.0_07]
>>>>> at
>>>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> [rt.jar:1.7.0_07]
>>>>> at java.lang.reflect.Method.invoke(Method.java:601)
>>> [rt.jar:1.7.0_07]
>>>>> at
>>>>>
>>> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
>>>>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>>>>> at
>>>>>
>>> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
>>>>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>>>>> at
>>>>>
>>> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
>>>>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>>>>> at
>>>>>
>>> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
>>>>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>>>>> at
>>>>>
>>> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
>>>>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>>>>> at
>>>>>
>>> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
>>>>> [weld-core-1.1.5.AS71.Final.jar:]
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> [rt.jar:1.7.0_07]
>>>>> at
>>>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>> [rt.jar:1.7.0_07]
>>>>> at
>>>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> [rt.jar:1.7.0_07]
>>>>> at java.lang.reflect.Method.invoke(Method.java:601)
>>> [rt.jar:1.7.0_07]
>>>>> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
>>>>> [jbossweb-7.0.13.Final.jar:]
>>>>> at
>>>>>
>>> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
>>>>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>>>>> at
>>>>>
>>> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
>>>>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>>>>> at
>>>>>
>>> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
>>>>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>>>>> at
>>>>>
>>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
>>>>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>>>>> ... 25 more
>>>>>
>>>>> 16:39:53,937 ERROR
>>>>>
>>> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/website_deltaspike].[FacesServlet]]
>>>>> (http--0.0.0.0-8080-1) Servlet.service() for serv
Re: Re: i got a [A JTA EntityManager cannot use getTransaction] error
Posted by Christian Kaltepoth <ch...@kaltepoth.de>.
BTW: Did you try the global-alternative approach mentioned in the JTA
Support chapter of the documentation?
Just create a file called /META-INF/apache-deltaspike.properties on your
classpath (in case of Maven it is
src/main/resources/META-INF/apache-deltaspike.properties) and add the
following content to the file:
globalAlternatives.org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy=org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy
See:
http://deltaspike.apache.org/jpa.html#jta-support
Christian
2013/9/28 Christian Kaltepoth <ch...@kaltepoth.de>
> Could you include the full stacktrace?
>
> Actually there should be no more ResourceLocalTransactionStrategy in the
> stacktrace. Instead you should see BeanManagedUserTransactionStrategyinstead. At least if your
> <alternatives> configuration worked.
>
> Which container do you deploy to?
>
> Christian
>
>
> 2013/9/28 十三郎 <mi...@163.com>
>
>> Christian Kaltepoth:thanks verymuch!!!!
>>
>>
>> i add the alternatives section to beans.xml.
>>
>> <beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
>> <interceptors>
>>
>> <class>org.apache.deltaspike.security.impl.extension.SecurityInterceptor</class>
>>
>> <class>org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor</class>
>> </interceptors>
>> <alternatives>
>>
>> <class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
>> </alternatives>
>> </beans>
>>
>> but the code still run to error(A JTA EntityManager cannot use
>> getTransaction())
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> At 2013-09-27 16:52:29,"Christian Kaltepoth" <ch...@kaltepoth.de>
>> wrote:
>> >Did you follow the instructions in the "JTA Support" section of the
>> >documentation?
>> >
>> >http://deltaspike.apache.org/jpa.html#jta-support
>> >
>> >It looks like your are using the ResourceLocalTransactionStrategy instead
>> >of BeanManagedUserTransactionStrategy which is required in case of JTA.
>> >Adding the following section to your beans.xml should fix your problem:
>> >
>> > <alternatives>
>> >
>>
>> ><class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
>> > </alternatives>
>> >
>> >Best regards
>> >
>> >Christian
>> >
>> >2013/9/27 十三郎 <mi...@163.com>
>> >
>> >> hi everyone:
>> >> i defined a @Transactional method run to error.
>> >>
>> >> follow deltaspike jpamodule documents,i define a EntityManagerProducer
>> >> public class EntityManagerProducer
>> >> {
>> >> @PersistenceContext(unitName = "persistence0")
>> >> private EntityManager entityManager;
>> >> @Produces
>> >> @RequestScoped
>> >> protected EntityManager createEntityManager()
>> >> {
>> >> return this.entityManager;
>> >> }
>> >> protected void closeEntityManager(@Disposes EntityManager
>> >> entityManager)
>> >> {
>> >> if (entityManager.isOpen())
>> >> {
>> >> entityManager.close();
>> >> }
>> >> }
>> >> }
>> >>
>> >>
>> >> and i want do some database action:
>> >> ---------------------------
>> >> @Named("jpaTest")
>> >> public class JpaTest
>> >> {
>> >> @Inject
>> >> private EntityManager entityManager;
>> >> @Named
>> >> @Transactional
>> >> public void executeInTransaction(){
>> >> Query query = null;
>> >> String sql="insert into grandscape_user
>> (user_name,user_password)
>> >> values (:u,:p)";
>> >> query=entityManager.createNativeQuery(sql);
>> >> query.setParameter("u", "2013");
>> >> query.setParameter("p", "20132222");
>> >> query.executeUpdate();
>> >> }
>> >> }
>> >> -------------------
>> >>
>> >>
>> >> i use jsf to call method #{jpaTest.executeInTransaction}.
>> >> <h:commandButton value="jpa Method"
>> >> action="#{jpaTest.executeInTransaction}" />
>> >>
>> >> and persistence.xml:
>> >> ---------------------
>> >> <?xml version="1.0" encoding="UTF-8"?>
>> >> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> >> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>> >> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
>> >> version="2.0">
>> >> <persistence-unit name="persistence0" transaction-type="JTA">
>> >> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>> >> <jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>
>> >> <properties>
>> >> <!-- Properties for Hibernate (default provider for JBoss
>> AS)
>> >> -->
>> >> <property name="hibernate.dialect"
>> >> value="org.hibernate.dialect.MySQLDialect"/>
>> >> <property name="hibernate.connection.username"
>> value="root"
>> >> />
>> >> <property name="hibernate.connection.password"
>> >> value="root" />
>> >> <property name="hibernate.connection.driver_class"
>> >> value="com.mysql.jdbc.Driver" />
>> >> <property name="hibernate.connection.url"
>> >> value="jdbc:mysql://localhost:3306/grandscape_website" />
>> >>
>> >> <property name="hibernate.show_sql" value="true"/>
>> >> <!-- Only format when you need to debug, because it slows
>> >> things down -->
>> >> <property name="hibernate.format_sql" value="false"/>
>> >> <property name="hibernate.show_sql" value="true" />
>> >> <property name="hibernate.hbm2ddl.auto" value="update" />
>> >> <!--
>> >> <property name="hibernate.hbm2ddl.auto"
>> value="create-drop"/>
>> >> -->
>> >> </properties>
>> >> </persistence-unit>
>> >> </persistence>
>> >> ------------
>> >>
>> >>
>> >> when i called #{jpaTest.executeInTransaction} method,the code run to a
>> >> error:
>> >> ----------------------------------------
>> >> 16:39:53,889 WARNING
>> >> [javax.enterprise.resource.webcontainer.jsf.lifecycle]
>> >> (http--0.0.0.0-8080-1) #{jpaTest.executeInTransaction}:
>> >> java.lang.IllegalStateException: A JTA EntityManager cannot use
>> >> getTransaction(): javax.faces.FacesException:
>> >> #{jpaTest.executeInTransaction}: java.lang.IllegalStateException: A JTA
>> >> EntityManager cannot use getTransaction()
>> >> at
>> >>
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >>
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >>
>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at
>> >> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
>> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> >> at
>> >>
>> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
>> >> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
>> >> at
>> >>
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
>> >> Caused by: javax.faces.el.EvaluationException:
>> >> java.lang.IllegalStateException: A JTA EntityManager cannot use
>> >> getTransaction()
>> >> at
>> >>
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >>
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> ... 24 more
>> >> Caused by: java.lang.IllegalStateException: A JTA EntityManager cannot
>> use
>> >> getTransaction()
>> >> at
>> >>
>> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
>> >> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
>> >> at
>> >>
>> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
>> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> [rt.jar:1.7.0_07]
>> >> at java.lang.reflect.Method.invoke(Method.java:601)
>> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
>> >> [weld-core-1.1.5.AS71.Final.jar:]
>> >> at
>> >>
>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
>> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> >> at
>> >>
>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
>> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> >> at
>> >>
>> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
>> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> [rt.jar:1.7.0_07]
>> >> at java.lang.reflect.Method.invoke(Method.java:601)
>> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
>> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> >> at
>> >>
>> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
>> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> >> at
>> >>
>> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
>> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> >> at
>> >>
>> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
>> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> >> at
>> >>
>> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
>> >> [weld-core-1.1.5.AS71.Final.jar:]
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> [rt.jar:1.7.0_07]
>> >> at java.lang.reflect.Method.invoke(Method.java:601)
>> [rt.jar:1.7.0_07]
>> >> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at
>> >>
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> ... 25 more
>> >>
>> >> 16:39:53,937 ERROR
>> >>
>> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/website_deltaspike].[FacesServlet]]
>> >> (http--0.0.0.0-8080-1) Servlet.service() for servlet FacesServlet threw
>> >> exception: java.lang.IllegalStateException: A JTA EntityManager cannot
>> use
>> >> getTransaction()
>> >> at
>> >>
>> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
>> >> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
>> >> at
>> >>
>> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
>> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> [rt.jar:1.7.0_07]
>> >> at java.lang.reflect.Method.invoke(Method.java:601)
>> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
>> >> [weld-core-1.1.5.AS71.Final.jar:]
>> >> at
>> >>
>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
>> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> >> at
>> >>
>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
>> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> >> at
>> >>
>> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
>> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> [rt.jar:1.7.0_07]
>> >> at java.lang.reflect.Method.invoke(Method.java:601)
>> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
>> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> >> at
>> >>
>> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
>> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> >> at
>> >>
>> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
>> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> >> at
>> >>
>> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
>> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> >> at
>> >>
>> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
>> >> [weld-core-1.1.5.AS71.Final.jar:]
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> [rt.jar:1.7.0_07]
>> >> at java.lang.reflect.Method.invoke(Method.java:601)
>> [rt.jar:1.7.0_07]
>> >> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at
>> >>
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >>
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >>
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >>
>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at
>> >> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> >> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
>> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
>> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> >> at
>> >>
>> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
>> >> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
>> >> at
>> >>
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
>> >>
>> >> 16:39:54,093 ERROR
>> >> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]]
>> >> (http--0.0.0.0-8080-1) Exception sending request destroyed lifecycle
>> event
>> >> to listener instance of class org.jboss.weld.servlet.WeldListener:
>> >> java.lang.IllegalStateException: JBAS011424: Container managed entity
>> >> manager can only be closed by the container (auto-cleared at
>> tx/invocation
>> >> end and closed when owning component is closed.)
>> >> at
>> >>
>> org.jboss.as.jpa.container.TransactionScopedEntityManager.close(TransactionScopedEntityManager.java:98)
>> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> >> at
>> >>
>> persist.EntityManagerProducer.closeEntityManager(EntityManagerProducer.java:26)
>> >> [classes:]
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> >> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> [rt.jar:1.7.0_07]
>> >> at java.lang.reflect.Method.invoke(Method.java:601)
>> [rt.jar:1.7.0_07]
>> >> at
>> >>
>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.bean.DisposalMethod.invokeDisposeMethod(DisposalMethod.java:158)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >> org.jboss.weld.bean.ProducerMethod$1.dispose(ProducerMethod.java:122)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> org.jboss.weld.bean.ProducerMethod.destroy(ProducerMethod.java:197)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:31)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:132)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:146)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.context.AbstractManagedContext.deactivate(AbstractManagedContext.java:41)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:72)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.context.http.HttpRequestContextImpl.deactivate(HttpRequestContextImpl.java:86)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:103)
>> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> >> at
>> >>
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >>
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at
>> >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
>> >> [jbossweb-7.0.13.Final.jar:]
>> >> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
>> >> -----------------------------------------------------
>> >>
>> >> thanks very much!!!!!
>> >>
>> >>
>> >
>> >
>> >--
>> >Christian Kaltepoth
>> >Blog: http://blog.kaltepoth.de/
>> >Twitter: http://twitter.com/chkal
>> >GitHub: https://github.com/chkal
>>
>
>
>
> --
> Christian Kaltepoth
> Blog: http://blog.kaltepoth.de/
> Twitter: http://twitter.com/chkal
> GitHub: https://github.com/chkal
>
>
--
Christian Kaltepoth
Blog: http://blog.kaltepoth.de/
Twitter: http://twitter.com/chkal
GitHub: https://github.com/chkal
Re: Re: i got a [A JTA EntityManager cannot use getTransaction] error
Posted by Christian Kaltepoth <ch...@kaltepoth.de>.
Could you include the full stacktrace?
Actually there should be no more ResourceLocalTransactionStrategy in the
stacktrace. Instead you should see
BeanManagedUserTransactionStrategyinstead. At least if your
<alternatives> configuration worked.
Which container do you deploy to?
Christian
2013/9/28 十三郎 <mi...@163.com>
> Christian Kaltepoth:thanks verymuch!!!!
>
>
> i add the alternatives section to beans.xml.
>
> <beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
> <interceptors>
>
> <class>org.apache.deltaspike.security.impl.extension.SecurityInterceptor</class>
>
> <class>org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor</class>
> </interceptors>
> <alternatives>
>
> <class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
> </alternatives>
> </beans>
>
> but the code still run to error(A JTA EntityManager cannot use
> getTransaction())
>
>
>
>
>
>
>
>
>
> At 2013-09-27 16:52:29,"Christian Kaltepoth" <ch...@kaltepoth.de>
> wrote:
> >Did you follow the instructions in the "JTA Support" section of the
> >documentation?
> >
> >http://deltaspike.apache.org/jpa.html#jta-support
> >
> >It looks like your are using the ResourceLocalTransactionStrategy instead
> >of BeanManagedUserTransactionStrategy which is required in case of JTA.
> >Adding the following section to your beans.xml should fix your problem:
> >
> > <alternatives>
> >
>
> ><class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
> > </alternatives>
> >
> >Best regards
> >
> >Christian
> >
> >2013/9/27 十三郎 <mi...@163.com>
> >
> >> hi everyone:
> >> i defined a @Transactional method run to error.
> >>
> >> follow deltaspike jpamodule documents,i define a EntityManagerProducer
> >> public class EntityManagerProducer
> >> {
> >> @PersistenceContext(unitName = "persistence0")
> >> private EntityManager entityManager;
> >> @Produces
> >> @RequestScoped
> >> protected EntityManager createEntityManager()
> >> {
> >> return this.entityManager;
> >> }
> >> protected void closeEntityManager(@Disposes EntityManager
> >> entityManager)
> >> {
> >> if (entityManager.isOpen())
> >> {
> >> entityManager.close();
> >> }
> >> }
> >> }
> >>
> >>
> >> and i want do some database action:
> >> ---------------------------
> >> @Named("jpaTest")
> >> public class JpaTest
> >> {
> >> @Inject
> >> private EntityManager entityManager;
> >> @Named
> >> @Transactional
> >> public void executeInTransaction(){
> >> Query query = null;
> >> String sql="insert into grandscape_user
> (user_name,user_password)
> >> values (:u,:p)";
> >> query=entityManager.createNativeQuery(sql);
> >> query.setParameter("u", "2013");
> >> query.setParameter("p", "20132222");
> >> query.executeUpdate();
> >> }
> >> }
> >> -------------------
> >>
> >>
> >> i use jsf to call method #{jpaTest.executeInTransaction}.
> >> <h:commandButton value="jpa Method"
> >> action="#{jpaTest.executeInTransaction}" />
> >>
> >> and persistence.xml:
> >> ---------------------
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> >> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
> >> version="2.0">
> >> <persistence-unit name="persistence0" transaction-type="JTA">
> >> <provider>org.hibernate.ejb.HibernatePersistence</provider>
> >> <jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>
> >> <properties>
> >> <!-- Properties for Hibernate (default provider for JBoss
> AS)
> >> -->
> >> <property name="hibernate.dialect"
> >> value="org.hibernate.dialect.MySQLDialect"/>
> >> <property name="hibernate.connection.username"
> value="root"
> >> />
> >> <property name="hibernate.connection.password"
> >> value="root" />
> >> <property name="hibernate.connection.driver_class"
> >> value="com.mysql.jdbc.Driver" />
> >> <property name="hibernate.connection.url"
> >> value="jdbc:mysql://localhost:3306/grandscape_website" />
> >>
> >> <property name="hibernate.show_sql" value="true"/>
> >> <!-- Only format when you need to debug, because it slows
> >> things down -->
> >> <property name="hibernate.format_sql" value="false"/>
> >> <property name="hibernate.show_sql" value="true" />
> >> <property name="hibernate.hbm2ddl.auto" value="update" />
> >> <!--
> >> <property name="hibernate.hbm2ddl.auto"
> value="create-drop"/>
> >> -->
> >> </properties>
> >> </persistence-unit>
> >> </persistence>
> >> ------------
> >>
> >>
> >> when i called #{jpaTest.executeInTransaction} method,the code run to a
> >> error:
> >> ----------------------------------------
> >> 16:39:53,889 WARNING
> >> [javax.enterprise.resource.webcontainer.jsf.lifecycle]
> >> (http--0.0.0.0-8080-1) #{jpaTest.executeInTransaction}:
> >> java.lang.IllegalStateException: A JTA EntityManager cannot use
> >> getTransaction(): javax.faces.FacesException:
> >> #{jpaTest.executeInTransaction}: java.lang.IllegalStateException: A JTA
> >> EntityManager cannot use getTransaction()
> >> at
> >>
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >>
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >>
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at
> >> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> >> at
> >>
> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
> >> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
> >> at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
> >> Caused by: javax.faces.el.EvaluationException:
> >> java.lang.IllegalStateException: A JTA EntityManager cannot use
> >> getTransaction()
> >> at
> >>
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >>
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> ... 24 more
> >> Caused by: java.lang.IllegalStateException: A JTA EntityManager cannot
> use
> >> getTransaction()
> >> at
> >>
> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
> >> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
> >> at
> >>
> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> [rt.jar:1.7.0_07]
> >> at java.lang.reflect.Method.invoke(Method.java:601)
> [rt.jar:1.7.0_07]
> >> at
> >>
> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
> >> [weld-core-1.1.5.AS71.Final.jar:]
> >> at
> >>
> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> >> at
> >>
> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> >> at
> >>
> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> [rt.jar:1.7.0_07]
> >> at java.lang.reflect.Method.invoke(Method.java:601)
> [rt.jar:1.7.0_07]
> >> at
> >>
> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> >> at
> >>
> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> >> at
> >>
> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> >> at
> >>
> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> >> at
> >>
> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
> >> [weld-core-1.1.5.AS71.Final.jar:]
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> [rt.jar:1.7.0_07]
> >> at java.lang.reflect.Method.invoke(Method.java:601)
> [rt.jar:1.7.0_07]
> >> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at
> >>
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> ... 25 more
> >>
> >> 16:39:53,937 ERROR
> >>
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/website_deltaspike].[FacesServlet]]
> >> (http--0.0.0.0-8080-1) Servlet.service() for servlet FacesServlet threw
> >> exception: java.lang.IllegalStateException: A JTA EntityManager cannot
> use
> >> getTransaction()
> >> at
> >>
> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
> >> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
> >> at
> >>
> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> [rt.jar:1.7.0_07]
> >> at java.lang.reflect.Method.invoke(Method.java:601)
> [rt.jar:1.7.0_07]
> >> at
> >>
> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
> >> [weld-core-1.1.5.AS71.Final.jar:]
> >> at
> >>
> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> >> at
> >>
> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> >> at
> >>
> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
> >> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> [rt.jar:1.7.0_07]
> >> at java.lang.reflect.Method.invoke(Method.java:601)
> [rt.jar:1.7.0_07]
> >> at
> >>
> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> >> at
> >>
> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> >> at
> >>
> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> >> at
> >>
> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
> >> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> >> at
> >>
> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
> >> [weld-core-1.1.5.AS71.Final.jar:]
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> [rt.jar:1.7.0_07]
> >> at java.lang.reflect.Method.invoke(Method.java:601)
> [rt.jar:1.7.0_07]
> >> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at
> >>
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >>
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >>
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >>
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at
> >> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> >> [jsf-impl-2.1.7-jbossorg-2.jar:]
> >> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
> >> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> >> at
> >>
> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
> >> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
> >> at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
> >>
> >> 16:39:54,093 ERROR
> >> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]]
> >> (http--0.0.0.0-8080-1) Exception sending request destroyed lifecycle
> event
> >> to listener instance of class org.jboss.weld.servlet.WeldListener:
> >> java.lang.IllegalStateException: JBAS011424: Container managed entity
> >> manager can only be closed by the container (auto-cleared at
> tx/invocation
> >> end and closed when owning component is closed.)
> >> at
> >>
> org.jboss.as.jpa.container.TransactionScopedEntityManager.close(TransactionScopedEntityManager.java:98)
> >> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> >> at
> >>
> persist.EntityManagerProducer.closeEntityManager(EntityManagerProducer.java:26)
> >> [classes:]
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> [rt.jar:1.7.0_07]
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> [rt.jar:1.7.0_07]
> >> at java.lang.reflect.Method.invoke(Method.java:601)
> [rt.jar:1.7.0_07]
> >> at
> >>
> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.bean.DisposalMethod.invokeDisposeMethod(DisposalMethod.java:158)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >> org.jboss.weld.bean.ProducerMethod$1.dispose(ProducerMethod.java:122)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> org.jboss.weld.bean.ProducerMethod.destroy(ProducerMethod.java:197)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:31)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >> org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:132)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >> org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:146)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.context.AbstractManagedContext.deactivate(AbstractManagedContext.java:41)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:72)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.context.http.HttpRequestContextImpl.deactivate(HttpRequestContextImpl.java:86)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:103)
> >> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> >> at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at
> >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
> >> [jbossweb-7.0.13.Final.jar:]
> >> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
> >> -----------------------------------------------------
> >>
> >> thanks very much!!!!!
> >>
> >>
> >
> >
> >--
> >Christian Kaltepoth
> >Blog: http://blog.kaltepoth.de/
> >Twitter: http://twitter.com/chkal
> >GitHub: https://github.com/chkal
>
--
Christian Kaltepoth
Blog: http://blog.kaltepoth.de/
Twitter: http://twitter.com/chkal
GitHub: https://github.com/chkal
Re:Re: i got a [A JTA EntityManager cannot use getTransaction]
error
Posted by 十三郎 <mi...@163.com>.
Christian Kaltepoth:thanks verymuch!!!!
i add the alternatives section to beans.xml.
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
<interceptors>
<class>org.apache.deltaspike.security.impl.extension.SecurityInterceptor</class>
<class>org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor</class>
</interceptors>
<alternatives>
<class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
</alternatives>
</beans>
but the code still run to error(A JTA EntityManager cannot use getTransaction())
At 2013-09-27 16:52:29,"Christian Kaltepoth" <ch...@kaltepoth.de> wrote:
>Did you follow the instructions in the "JTA Support" section of the
>documentation?
>
>http://deltaspike.apache.org/jpa.html#jta-support
>
>It looks like your are using the ResourceLocalTransactionStrategy instead
>of BeanManagedUserTransactionStrategy which is required in case of JTA.
>Adding the following section to your beans.xml should fix your problem:
>
> <alternatives>
>
><class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
> </alternatives>
>
>Best regards
>
>Christian
>
>2013/9/27 十三郎 <mi...@163.com>
>
>> hi everyone:
>> i defined a @Transactional method run to error.
>>
>> follow deltaspike jpamodule documents,i define a EntityManagerProducer
>> public class EntityManagerProducer
>> {
>> @PersistenceContext(unitName = "persistence0")
>> private EntityManager entityManager;
>> @Produces
>> @RequestScoped
>> protected EntityManager createEntityManager()
>> {
>> return this.entityManager;
>> }
>> protected void closeEntityManager(@Disposes EntityManager
>> entityManager)
>> {
>> if (entityManager.isOpen())
>> {
>> entityManager.close();
>> }
>> }
>> }
>>
>>
>> and i want do some database action:
>> ---------------------------
>> @Named("jpaTest")
>> public class JpaTest
>> {
>> @Inject
>> private EntityManager entityManager;
>> @Named
>> @Transactional
>> public void executeInTransaction(){
>> Query query = null;
>> String sql="insert into grandscape_user (user_name,user_password)
>> values (:u,:p)";
>> query=entityManager.createNativeQuery(sql);
>> query.setParameter("u", "2013");
>> query.setParameter("p", "20132222");
>> query.executeUpdate();
>> }
>> }
>> -------------------
>>
>>
>> i use jsf to call method #{jpaTest.executeInTransaction}.
>> <h:commandButton value="jpa Method"
>> action="#{jpaTest.executeInTransaction}" />
>>
>> and persistence.xml:
>> ---------------------
>> <?xml version="1.0" encoding="UTF-8"?>
>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
>> version="2.0">
>> <persistence-unit name="persistence0" transaction-type="JTA">
>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>> <jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>
>> <properties>
>> <!-- Properties for Hibernate (default provider for JBoss AS)
>> -->
>> <property name="hibernate.dialect"
>> value="org.hibernate.dialect.MySQLDialect"/>
>> <property name="hibernate.connection.username" value="root"
>> />
>> <property name="hibernate.connection.password"
>> value="root" />
>> <property name="hibernate.connection.driver_class"
>> value="com.mysql.jdbc.Driver" />
>> <property name="hibernate.connection.url"
>> value="jdbc:mysql://localhost:3306/grandscape_website" />
>>
>> <property name="hibernate.show_sql" value="true"/>
>> <!-- Only format when you need to debug, because it slows
>> things down -->
>> <property name="hibernate.format_sql" value="false"/>
>> <property name="hibernate.show_sql" value="true" />
>> <property name="hibernate.hbm2ddl.auto" value="update" />
>> <!--
>> <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
>> -->
>> </properties>
>> </persistence-unit>
>> </persistence>
>> ------------
>>
>>
>> when i called #{jpaTest.executeInTransaction} method,the code run to a
>> error:
>> ----------------------------------------
>> 16:39:53,889 WARNING
>> [javax.enterprise.resource.webcontainer.jsf.lifecycle]
>> (http--0.0.0.0-8080-1) #{jpaTest.executeInTransaction}:
>> java.lang.IllegalStateException: A JTA EntityManager cannot use
>> getTransaction(): javax.faces.FacesException:
>> #{jpaTest.executeInTransaction}: java.lang.IllegalStateException: A JTA
>> EntityManager cannot use getTransaction()
>> at
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at
>> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
>> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> at
>> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
>> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
>> [jbossweb-7.0.13.Final.jar:]
>> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
>> Caused by: javax.faces.el.EvaluationException:
>> java.lang.IllegalStateException: A JTA EntityManager cannot use
>> getTransaction()
>> at
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> ... 24 more
>> Caused by: java.lang.IllegalStateException: A JTA EntityManager cannot use
>> getTransaction()
>> at
>> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
>> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
>> at
>> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
>> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> [rt.jar:1.7.0_07]
>> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
>> at
>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
>> [weld-core-1.1.5.AS71.Final.jar:]
>> at
>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> at
>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> at
>> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> [rt.jar:1.7.0_07]
>> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
>> at
>> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> at
>> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> at
>> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> at
>> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> at
>> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
>> [weld-core-1.1.5.AS71.Final.jar:]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> [rt.jar:1.7.0_07]
>> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
>> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> ... 25 more
>>
>> 16:39:53,937 ERROR
>> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/website_deltaspike].[FacesServlet]]
>> (http--0.0.0.0-8080-1) Servlet.service() for servlet FacesServlet threw
>> exception: java.lang.IllegalStateException: A JTA EntityManager cannot use
>> getTransaction()
>> at
>> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
>> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
>> at
>> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
>> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> [rt.jar:1.7.0_07]
>> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
>> at
>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
>> [weld-core-1.1.5.AS71.Final.jar:]
>> at
>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> at
>> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> at
>> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
>> [deltaspike-jpa-module-impl-0.4.jar:0.4]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> [rt.jar:1.7.0_07]
>> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
>> at
>> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> at
>> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> at
>> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> at
>> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
>> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
>> at
>> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
>> [weld-core-1.1.5.AS71.Final.jar:]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> [rt.jar:1.7.0_07]
>> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
>> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at
>> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>> [jsf-impl-2.1.7-jbossorg-2.jar:]
>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
>> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
>> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> at
>> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
>> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
>> [jbossweb-7.0.13.Final.jar:]
>> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
>>
>> 16:39:54,093 ERROR
>> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]]
>> (http--0.0.0.0-8080-1) Exception sending request destroyed lifecycle event
>> to listener instance of class org.jboss.weld.servlet.WeldListener:
>> java.lang.IllegalStateException: JBAS011424: Container managed entity
>> manager can only be closed by the container (auto-cleared at tx/invocation
>> end and closed when owning component is closed.)
>> at
>> org.jboss.as.jpa.container.TransactionScopedEntityManager.close(TransactionScopedEntityManager.java:98)
>> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
>> at
>> persist.EntityManagerProducer.closeEntityManager(EntityManagerProducer.java:26)
>> [classes:]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> [rt.jar:1.7.0_07]
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> [rt.jar:1.7.0_07]
>> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
>> at
>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.bean.DisposalMethod.invokeDisposeMethod(DisposalMethod.java:158)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.bean.ProducerMethod$1.dispose(ProducerMethod.java:122)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at org.jboss.weld.bean.ProducerMethod.destroy(ProducerMethod.java:197)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:31)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:132)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:146)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.context.AbstractManagedContext.deactivate(AbstractManagedContext.java:41)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:72)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.context.http.HttpRequestContextImpl.deactivate(HttpRequestContextImpl.java:86)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:103)
>> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
>> [jbossweb-7.0.13.Final.jar:]
>> at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
>> [jbossweb-7.0.13.Final.jar:]
>> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
>> -----------------------------------------------------
>>
>> thanks very much!!!!!
>>
>>
>
>
>--
>Christian Kaltepoth
>Blog: http://blog.kaltepoth.de/
>Twitter: http://twitter.com/chkal
>GitHub: https://github.com/chkal
Re: i got a [A JTA EntityManager cannot use getTransaction] error
Posted by Christian Kaltepoth <ch...@kaltepoth.de>.
Did you follow the instructions in the "JTA Support" section of the
documentation?
http://deltaspike.apache.org/jpa.html#jta-support
It looks like your are using the ResourceLocalTransactionStrategy instead
of BeanManagedUserTransactionStrategy which is required in case of JTA.
Adding the following section to your beans.xml should fix your problem:
<alternatives>
<class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
</alternatives>
Best regards
Christian
2013/9/27 十三郎 <mi...@163.com>
> hi everyone:
> i defined a @Transactional method run to error.
>
> follow deltaspike jpamodule documents,i define a EntityManagerProducer
> public class EntityManagerProducer
> {
> @PersistenceContext(unitName = "persistence0")
> private EntityManager entityManager;
> @Produces
> @RequestScoped
> protected EntityManager createEntityManager()
> {
> return this.entityManager;
> }
> protected void closeEntityManager(@Disposes EntityManager
> entityManager)
> {
> if (entityManager.isOpen())
> {
> entityManager.close();
> }
> }
> }
>
>
> and i want do some database action:
> ---------------------------
> @Named("jpaTest")
> public class JpaTest
> {
> @Inject
> private EntityManager entityManager;
> @Named
> @Transactional
> public void executeInTransaction(){
> Query query = null;
> String sql="insert into grandscape_user (user_name,user_password)
> values (:u,:p)";
> query=entityManager.createNativeQuery(sql);
> query.setParameter("u", "2013");
> query.setParameter("p", "20132222");
> query.executeUpdate();
> }
> }
> -------------------
>
>
> i use jsf to call method #{jpaTest.executeInTransaction}.
> <h:commandButton value="jpa Method"
> action="#{jpaTest.executeInTransaction}" />
>
> and persistence.xml:
> ---------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
> version="2.0">
> <persistence-unit name="persistence0" transaction-type="JTA">
> <provider>org.hibernate.ejb.HibernatePersistence</provider>
> <jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>
> <properties>
> <!-- Properties for Hibernate (default provider for JBoss AS)
> -->
> <property name="hibernate.dialect"
> value="org.hibernate.dialect.MySQLDialect"/>
> <property name="hibernate.connection.username" value="root"
> />
> <property name="hibernate.connection.password"
> value="root" />
> <property name="hibernate.connection.driver_class"
> value="com.mysql.jdbc.Driver" />
> <property name="hibernate.connection.url"
> value="jdbc:mysql://localhost:3306/grandscape_website" />
>
> <property name="hibernate.show_sql" value="true"/>
> <!-- Only format when you need to debug, because it slows
> things down -->
> <property name="hibernate.format_sql" value="false"/>
> <property name="hibernate.show_sql" value="true" />
> <property name="hibernate.hbm2ddl.auto" value="update" />
> <!--
> <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
> -->
> </properties>
> </persistence-unit>
> </persistence>
> ------------
>
>
> when i called #{jpaTest.executeInTransaction} method,the code run to a
> error:
> ----------------------------------------
> 16:39:53,889 WARNING
> [javax.enterprise.resource.webcontainer.jsf.lifecycle]
> (http--0.0.0.0-8080-1) #{jpaTest.executeInTransaction}:
> java.lang.IllegalStateException: A JTA EntityManager cannot use
> getTransaction(): javax.faces.FacesException:
> #{jpaTest.executeInTransaction}: java.lang.IllegalStateException: A JTA
> EntityManager cannot use getTransaction()
> at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> at
> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
> [jbossweb-7.0.13.Final.jar:]
> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
> Caused by: javax.faces.el.EvaluationException:
> java.lang.IllegalStateException: A JTA EntityManager cannot use
> getTransaction()
> at
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> ... 24 more
> Caused by: java.lang.IllegalStateException: A JTA EntityManager cannot use
> getTransaction()
> at
> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
> at
> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_07]
> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
> at
> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
> [weld-core-1.1.5.AS71.Final.jar:]
> at
> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> at
> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> at
> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_07]
> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
> at
> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> at
> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> at
> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> at
> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> at
> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
> [weld-core-1.1.5.AS71.Final.jar:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_07]
> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> ... 25 more
>
> 16:39:53,937 ERROR
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/website_deltaspike].[FacesServlet]]
> (http--0.0.0.0-8080-1) Servlet.service() for servlet FacesServlet threw
> exception: java.lang.IllegalStateException: A JTA EntityManager cannot use
> getTransaction()
> at
> org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996)
> [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
> at
> org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_07]
> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
> at
> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.proxies.EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$-1071677489$Proxy$_$$_WeldClientProxy.java)
> [weld-core-1.1.5.AS71.Final.jar:]
> at
> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:265)
> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> at
> org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:130)
> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> at
> org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor.executeInTransaction(TransactionalInterceptor.java:57)
> [deltaspike-jpa-module-impl-0.4.jar:0.4]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_07]
> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
> at
> org.jboss.interceptor.proxy.InterceptorInvocation$InterceptorMethodInvocation.invoke(InterceptorInvocation.java:72)
> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> at
> org.jboss.interceptor.proxy.SimpleInterceptionChain.invokeNextInterceptor(SimpleInterceptionChain.java:82)
> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> at
> org.jboss.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:133)
> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> at
> org.jboss.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:112)
> [jboss-interceptor-core-2.0.0.Final.jar:2.0.0.Final]
> at
> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.proxies.JpaTest$Proxy$_$$_WeldSubclass.executeInTransaction(JpaTest$Proxy$_$$_WeldSubclass.java)
> [weld-core-1.1.5.AS71.Final.jar:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_07]
> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
> at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> at
> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
> [jbossweb-7.0.13.Final.jar:]
> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
>
> 16:39:54,093 ERROR
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]]
> (http--0.0.0.0-8080-1) Exception sending request destroyed lifecycle event
> to listener instance of class org.jboss.weld.servlet.WeldListener:
> java.lang.IllegalStateException: JBAS011424: Container managed entity
> manager can only be closed by the container (auto-cleared at tx/invocation
> end and closed when owning component is closed.)
> at
> org.jboss.as.jpa.container.TransactionScopedEntityManager.close(TransactionScopedEntityManager.java:98)
> [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
> at
> persist.EntityManagerProducer.closeEntityManager(EntityManagerProducer.java:26)
> [classes:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_07]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_07]
> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
> at
> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.bean.DisposalMethod.invokeDisposeMethod(DisposalMethod.java:158)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.bean.ProducerMethod$1.dispose(ProducerMethod.java:122)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at org.jboss.weld.bean.ProducerMethod.destroy(ProducerMethod.java:197)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:31)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:132)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:146)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.context.AbstractManagedContext.deactivate(AbstractManagedContext.java:41)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:72)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.context.http.HttpRequestContextImpl.deactivate(HttpRequestContextImpl.java:86)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:103)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
> [jbossweb-7.0.13.Final.jar:]
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
> [jbossweb-7.0.13.Final.jar:]
> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
> -----------------------------------------------------
>
> thanks very much!!!!!
>
>
--
Christian Kaltepoth
Blog: http://blog.kaltepoth.de/
Twitter: http://twitter.com/chkal
GitHub: https://github.com/chkal