Hi!

Which JTA implementation do you use? Tomcat is just a plain servlet container 
and contains no JTA.
You will either have to add a standalone transaction manager implementation or 
use e.g. TomEE which is nothing more than Tomcat7 + a few EE libs (geronimo-tx 
amongst them for JTA).

You can check out the 'jta' branch o fone of my sample apps at
https://github.com/struberg/lightweightEE/tree/jta

LieGrue,
strub

--------------------------------------------
On Fri, 15/8/14, senthinil <[email protected]> wrote:

 Subject: how to use deltaspike with JTA and tomcat7
 To: [email protected]
 Date: Friday, 15 August, 2014, 6:07
 
 Hi
 
 I am using CDI/weld with tomcat7 and want to use JTA, and
 new to deltaspike
 please let me know how to configure and how to inject the
 entitymanager in
 my application.
 As per your documention:
 https://deltaspike.apache.org/jpa.html#jta-support
 <https://deltaspike.apache.org/jpa.html#jta-support> 
 , says to configure in
 beans.xml, I configured the same.
  <alternatives>
        
 
<class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
     </alternatives>
 and in the persistence.xml
 <?xml version="1.0" encoding="UTF-8"?>
 <persistence version="2.0" 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";>
   <persistence-unit name="somePU"
 transaction-type="JTA">
       
    
 <provider>org.hibernate.ejb.HibernatePersistence</provider>
    
 
<jta-data-source>java:comp/env/org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy/userTransaction</jta-data-source>
     
    
 <class>com.test.model.AdminUser</class>
      
     <properties>
         <property
 value="org.hibernate.dialect.MySQLDialect"
 name="hibernate.dialect"/>
             <property
 value="jdbc:mysql://localhost:3306/test"
 name="javax.persistence.jdbc.url"/>
             <property
 value="password"
 name="javax.persistence.jdbc.password"/>
             <property
 value="com.mysql.jdbc.Driver"
 name="javax.persistence.jdbc.driver"/>
             <property
 value="root" name="javax.persistence.jdbc.user"/>
             <property
 value="org.hibernate.cache.NoCacheProvider"
 name="hibernate.cache.provider_class"/>
             <property
 value="none"
 name="javax.persistence.validation.mode"/>
             <property
 value="true" name="hibernate.show_sql"/>
             <property
 name="hibernate.transaction.manager_lookup_class"
 value="com.atomikos.icatch.jta.hibernate3.TransactionManagerLookup"/>
         
     </properties>
   </persistence-unit>
 </persistence>
 in my web.xml
 
 <resource-ref>
    
 
<res-ref-name>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy/userTransaction</res-ref-name>
    
 <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
     </resource-ref> 
 in my AdminUserFacade class
 @Transactional 
   public void edit(T entity) {
        EntityManager em = 
 getEntityManager(); 
        
    
    em.setFlushMode(FlushModeType.COMMIT);
             em.merge(entity);
     }
 
 The exception thrown is 
 WARNING: Failed to retrieve JNDI naming context for
 container
 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/chikuji]]
 so no cleanup was performed for that container
 javax.naming.NameNotFoundException: Name [comp/env] is not
 bound in this
 Context. Unable to find [comp].
     at
 org.apache.naming.NamingContext.lookup(NamingContext.java:820)
     at
 org.apache.naming.NamingContext.lookup(NamingContext.java:168)
     at
 org.apache.catalina.deploy.NamingResources.cleanUp(NamingResources.java:977)
     at
 
org.apache.catalina.deploy.NamingResources.stopInternal(NamingResources.java:959)
     at
 org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
     at
 
org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5483)
     at
 org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
     at
 org.apache.catalina.manager.ManagerServlet.undeploy(ManagerServlet.java:1350)
     at
 org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:376)
     at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
     at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
     at
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
     at
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at
 
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
     at
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at
 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
     at
 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
     at
 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
     at
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
     at
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
     at
 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
     at
 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
     at
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
     at
 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
     at
 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
     at
 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
     at
 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
     at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
     at java.lang.Thread.run(Thread.java:662)
 Aug 15, 2014 9:34:14 AM
 org.apache.catalina.startup.HostConfig
 checkResources
 INFO: Undeploying context [/chikuji]
 Aug 15, 2014 9:34:14 AM
 org.apache.catalina.startup.HostConfig
 deployDescriptor
 INFO: Deploying configuration descriptor
 D:\Programs\tomcat7\conf\Catalina\localhost\chikuji.xml
 Aug 15, 2014 9:34:14 AM
 org.apache.catalina.loader.WebappClassLoader
 validateJarFile
 INFO:
 validateJarFile(D:\Practice\chikuji\build\web\WEB-INF\lib\javaee-api-7.0.jar)
 - jar not loaded. See Servlet Spec 2.3, section 9.7.2.
 Offending class:
 javax/servlet/Servlet.class
 Aug 15, 2014 9:34:16 AM
 org.apache.catalina.core.ContainerBase
 addChildInternal
 SEVERE: ContainerBase.addChild: start: 
 org.apache.catalina.LifecycleException: Failed to start
 component
 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/chikuji]]
     at
 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
     at
 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
     at
 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
     at
 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
     at
 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
     at
 org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:530)
     at
 org.apache.catalina.startup.HostConfig.check(HostConfig.java:1471)
     at
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at
 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at
 java.lang.reflect.Method.invoke(Method.java:597)
     at
 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
     at
 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
     at
 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:762)
     at
 org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436)
     at
 org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:856)
     at
 org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:353)
     at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
     at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
     at
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
     at
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at
 
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
     at
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at
 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
     at
 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
     at
 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
     at
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
     at
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
     at
 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
     at
 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
     at
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
     at
 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
     at
 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
     at
 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
     at
 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
     at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
     at java.lang.Thread.run(Thread.java:662)
 Caused by: java.lang.NullPointerException
     at
 java.util.Hashtable.put(Hashtable.java:394)
     at
 
org.apache.catalina.deploy.NamingResources.addResource(NamingResources.java:354)
     at
 org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1241)
     at
 org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1294)
     at
 
org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:855)
     at
 
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345)
     at
 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
     at
 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
     at
 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
     at
 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
     ... 37 more
 Aug 15, 2014 9:34:16 AM
 org.apache.catalina.startup.HostConfig
 deployDescriptor
 SEVERE: Error deploying configuration descriptor
 D:\Programs\tomcat7\conf\Catalina\localhost\chikuji.xml
 java.lang.IllegalStateException: ContainerBase.addChild:
 start:
 org.apache.catalina.LifecycleException: Failed to start
 component
 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/chikuji]]
     at
 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:898)
     at
 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
     at
 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
     at
 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
     at
 org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:530)
     at
 org.apache.catalina.startup.HostConfig.check(HostConfig.java:1471)
     at
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at
 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at
 java.lang.reflect.Method.invoke(Method.java:597)
     at
 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
     at
 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
     at
 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:762)
     at
 org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436)
     at
 org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:856)
     at
 org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:353)
     at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
     at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
     at
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
     at
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at
 
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
     at
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at
 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
     at
 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
     at
 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
     at
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
     at
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
     at
 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
     at
 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
     at
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
     at
 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
     at
 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
     at
 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
     at
 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
     at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
     at java.lang.Thread.run(Thread.java:662)
 
 
 Please help to resolve this problem
 Regards
 Sentil
 
 
 
 --
 View this message in context: 
http://apache-deltaspike-incubator-discussions.2316169.n4.nabble.com/how-to-use-deltaspike-with-JTA-and-tomcat7-tp4658539.html
 Sent from the Apache DeltaSpike Incubator Discussions
 mailing list archive at Nabble.com.

Reply via email to