Sunday, 15 April 2012

transactions - GLASSFISH4 deltaspike1.0 JTA EJB3 ERROR -



transactions - GLASSFISH4 deltaspike1.0 JTA EJB3 ERROR -

hello developed serious problem encountered!!!

environmental below:

glassfish 4 ,deltaspike1.0,jpa2.1/hibernate,ejb3.1**

my entitymanager :

@applicationscoped public class entitymanagerproducer implements java.io.serializable { private static final long serialversionuid = -4668876918252759251l; private @persistencecontext(unitname = "fruitstoredb") entitymanager em; private @persistencecontext(unitname = "picketlink") entitymanager picketlink; @fruitstoredb @produces public entitymanager createmanager() { homecoming em; } @produces @picketlink public entitymanager createpicketlinkentitymanager() { homecoming picketlink; } } ***my deltaspike managerresolver*** public class fruitstoremanagerresolver implements entitymanagerresolver{ private @inject @fruitstoredb entitymanager fruitstore; @override public entitymanager resolveentitymanager() { homecoming fruitstore; }

my sysmenurepository :

@repository @entitymanagerconfig(entitymanagerresolver = fruitstoremanagerresolver.class, flushmode = flushmodetype.commit) public interface sysmenurepository extends entityrepository<sysmenu, long>, java.io.serializable {} **my ejb:** @stateless public class sysmenufacade extends abstractfacade<sysmenu> { private @inject @fruitstoredb entitymanager fruitstore; private @inject sysmenurepository sysmenurepository; public sysmenu findmenubykey(long key){ if(key ==0){ homecoming new sysmenu(); } homecoming fruitstore.find(sysmenu.class, key); } }

my cdi

@named @viewscoped public class sysmenuquery implements java.io.serializable { private @inject sysmenurepository sysmenurepository; private @inject sysmenufacade sysmenufacade; public void initsource() { root = new defaulttreenode(menu", null); createtreenode(sysmenurepository.findrootlist(), root);//normal operation system.out.println(sysmenufacade.findall()); **//error : javax.naming.namenotfoundexception: lookup of java:comp/usertransaction not allowed container managed transaction beans** } }

now ejb jta transaction , deltaspike1 info module can not used transaction, , sysmenurepository info module easy use. ejb transaction not work well. xa transaction glassfish4 use

my exception :

javax.ejb.ejbexception: javax.ejb.ejbexception: javax.ejb.createexception: not create stateless ejb @ com.sun.ejb.containers.statelesssessioncontainer._getcontext(statelesssessioncontainer.java:435) @ com.sun.ejb.containers.basecontainer.getcontext(basecontainer.java:2516) @ com.sun.ejb.containers.basecontainer.preinvoke(basecontainer.java:1906) @ com.sun.ejb.containers.ejblocalobjectinvocationhandler.invoke(ejblocalobjectinvocationhandler.java:210) @ com.sun.ejb.containers.ejblocalobjectinvocationhandlerdelegate.invoke(ejblocalobjectinvocationhandlerdelegate.java:88) @ com.sun.proxy.$proxy513.findall(unknown source) @ com.songsoft.service.__ejb31_generated__sysmenufacade__intf____bean__.findall(unknown source) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:601) @ org.jboss.weld.util.reflection.reflections.invokeandunwrap(reflections.java:396) @ org.jboss.weld.bean.proxy.enterprisebeanproxymethodhandler.invoke(enterprisebeanproxymethodhandler.java:108) @ org.jboss.weld.bean.proxy.enterprisetargetbeaninstance.invoke(enterprisetargetbeaninstance.java:56) @ org.jboss.weld.bean.proxy.injectionpointpropagatingenterprisetargetbeaninstance.invoke(injectionpointpropagatingenterprisetargetbeaninstance.java:63) @ org.jboss.weld.bean.proxy.proxymethodhandler.invoke(proxymethodhandler.java:101) @ com.songsoft.service.sysmenufacade$proxy$_$$_weld$enterpriseproxy$.findall(unknown source) @ com.songsoft.action.sysmenuquery.initsource(sysmenuquery.java:59) @ com.songsoft.action.sysmenuquery$proxy$_$$_weldclientproxy.initsource(unknown source) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:601) @ javax.el.elutil.invokemethod(elutil.java:326) @ javax.el.beanelresolver.invoke(beanelresolver.java:536) @ javax.el.compositeelresolver.invoke(compositeelresolver.java:256) @ com.sun.el.parser.astvalue.invoke(astvalue.java:269) @ com.sun.el.methodexpressionimpl.invoke(methodexpressionimpl.java:304) @ org.jboss.weld.util.el.forwardingmethodexpression.invoke(forwardingmethodexpression.java:40) @ org.jboss.weld.el.weldmethodexpression.invoke(weldmethodexpression.java:50) @ com.sun.faces.facelets.el.tagmethodexpression.invoke(tagmethodexpression.java:105) @ com.sun.faces.facelets.tag.jsf.core.declarativesystemeventlistener.processevent(eventhandler.java:128) @ javax.faces.component.uicomponent$componentsystemeventlisteneradapter.processevent(uicomponent.java:2563) @ javax.faces.event.systemevent.processlistener(systemevent.java:108) @ javax.faces.event.componentsystemevent.processlistener(componentsystemevent.java:118) @ com.sun.faces.application.applicationimpl.processlisteners(applicationimpl.java:2187) @ com.sun.faces.application.applicationimpl.invokecomponentlistenersfor(applicationimpl.java:2135) @ com.sun.faces.application.applicationimpl.publishevent(applicationimpl.java:289) @ com.sun.faces.application.applicationimpl.publishevent(applicationimpl.java:247) @ javax.faces.application.applicationwrapper.publishevent(applicationwrapper.java:726) @ javax.faces.application.applicationwrapper.publishevent(applicationwrapper.java:726) @ javax.faces.application.applicationwrapper.publishevent(applicationwrapper.java:726) @ javax.faces.application.applicationwrapper.publishevent(applicationwrapper.java:726) @ org.apache.deltaspike.jsf.impl.injection.injectionawareapplicationwrapper.publishevent(injectionawareapplicationwrapper.java:121) @ com.sun.faces.lifecycle.renderresponsephase.execute(renderresponsephase.java:107) @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) @ com.sun.faces.lifecycle.lifecycleimpl.render(lifecycleimpl.java:219) @ org.apache.deltaspike.jsf.impl.listener.request.deltaspikelifecyclewrapper.render(deltaspikelifecyclewrapper.java:111) @ javax.faces.lifecycle.lifecyclewrapper.render(lifecyclewrapper.java:92) @ javax.faces.webapp.facesservlet.service(facesservlet.java:647) @ org.apache.catalina.core.standardwrapper.service(standardwrapper.java:1682) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:344) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:214) @ org.primefaces.webapp.filter.fileuploadfilter.dofilter(fileuploadfilter.java:98) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:256) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:214) @ com.songsoft.filter.characterencodingfilter.dofilter(characterencodingfilter.java:41) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:256) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:214) @ org.apache.deltaspike.servlet.impl.event.eventbridgefilter.dofilter(eventbridgefilter.java:59) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:256) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:214) @ org.apache.deltaspike.servlet.impl.produce.requestresponseholderfilter.dofilter(requestresponseholderfilter.java:63) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:256) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:214) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:316) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:160) @ org.apache.catalina.core.standardpipeline.doinvoke(standardpipeline.java:734) @ org.apache.catalina.core.standardpipeline.invoke(standardpipeline.java:673) @ com.sun.enterprise.web.webpipeline.invoke(webpipeline.java:99) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:174) @ org.apache.catalina.connector.coyoteadapter.doservice(coyoteadapter.java:357) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:260) @ com.sun.enterprise.v3.services.impl.containermapper.service(containermapper.java:188) @ org.glassfish.grizzly.http.server.httphandler.runservice(httphandler.java:191) @ org.glassfish.grizzly.http.server.httphandler.dohandle(httphandler.java:168) @ org.glassfish.grizzly.http.server.httpserverfilter.handleread(httpserverfilter.java:189) @ org.glassfish.grizzly.filterchain.executorresolver$9.execute(executorresolver.java:119) @ org.glassfish.grizzly.filterchain.defaultfilterchain.executefilter(defaultfilterchain.java:288) @ org.glassfish.grizzly.filterchain.defaultfilterchain.executechainpart(defaultfilterchain.java:206) @ org.glassfish.grizzly.filterchain.defaultfilterchain.execute(defaultfilterchain.java:136) @ org.glassfish.grizzly.filterchain.defaultfilterchain.process(defaultfilterchain.java:114) @ org.glassfish.grizzly.processorexecutor.execute(processorexecutor.java:77) @ org.glassfish.grizzly.nio.transport.tcpniotransport.fireioevent(tcpniotransport.java:838) @ org.glassfish.grizzly.strategies.abstractiostrategy.fireioevent(abstractiostrategy.java:113) @ org.glassfish.grizzly.strategies.workerthreadiostrategy.run0(workerthreadiostrategy.java:115) @ org.glassfish.grizzly.strategies.workerthreadiostrategy.access$100(workerthreadiostrategy.java:55) @ org.glassfish.grizzly.strategies.workerthreadiostrategy$workerthreadrunnable.run(workerthreadiostrategy.java:135) @ org.glassfish.grizzly.threadpool.abstractthreadpool$worker.dowork(abstractthreadpool.java:564) @ org.glassfish.grizzly.threadpool.abstractthreadpool$worker.run(abstractthreadpool.java:544) @ java.lang.thread.run(thread.java:722) caused by: javax.ejb.ejbexception: javax.ejb.createexception: not create stateless ejb @ com.sun.ejb.containers.statelesssessioncontainer$sessioncontextfactory.create(statelesssessioncontainer.java:700) @ com.sun.ejb.containers.util.pool.nonblockingpool.getobject(nonblockingpool.java:246) @ com.sun.ejb.containers.statelesssessioncontainer._getcontext(statelesssessioncontainer.java:430) ... 90 more caused by: javax.ejb.createexception: not create stateless ejb @ com.sun.ejb.containers.statelesssessioncontainer.createstatelessejb(statelesssessioncontainer.java:514) @ com.sun.ejb.containers.statelesssessioncontainer.access$000(statelesssessioncontainer.java:97) @ com.sun.ejb.containers.statelesssessioncontainer$sessioncontextfactory.create(statelesssessioncontainer.java:698) ... 92 more caused by: java.lang.illegalstateexception: exception attempting inject env-prop: org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy/usertransaction@field-injectable resource. class name = org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy field name=usertransaction@java.lang.string@java:comp/usertransaction@@ class org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy: lookup failed 'java:comp/env/org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy/usertransaction' in serialcontext[myenv={java.naming.factory.initial=com.sun.enterprise.naming.impl.serialinitcontextfactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.jndistatefactoryimpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} @ org.glassfish.weld.services.injectionservicesimpl.aroundinject(injectionservicesimpl.java:145) @ org.jboss.weld.injection.injectioncontextimpl.run(injectioncontextimpl.java:46) @ org.jboss.weld.injection.producer.defaultinjector.inject(defaultinjector.java:64) @ org.jboss.weld.injection.producer.basicinjectiontarget.inject(basicinjectiontarget.java:91) @ org.jboss.weld.bean.managedbean.create(managedbean.java:158) @ org.jboss.weld.context.unbound.dependentcontextimpl.get(dependentcontextimpl.java:69) @ org.jboss.weld.manager.beanmanagerimpl.getreference(beanmanagerimpl.java:716) @ org.jboss.weld.manager.beanmanagerimpl.getreference(beanmanagerimpl.java:774) @ org.jboss.weld.injection.fieldinjectionpoint.inject(fieldinjectionpoint.java:92) @ org.jboss.weld.util.beans.injectboundfields(beans.java:368) @ org.jboss.weld.util.beans.injectfieldsandinitializers(beans.java:377) @ org.jboss.weld.injection.producer.defaultinjector.inject(defaultinjector.java:72) @ org.jboss.weld.injection.producer.resourceinjector.inject(resourceinjector.java:60) @ org.jboss.weld.injection.producer.defaultinjector$1.proceed(defaultinjector.java:66) @ org.glassfish.weld.services.injectionservicesimpl.aroundinject(injectionservicesimpl.java:142) @ org.jboss.weld.injection.injectioncontextimpl.run(injectioncontextimpl.java:46) @ org.jboss.weld.injection.producer.defaultinjector.inject(defaultinjector.java:64) @ org.jboss.weld.injection.producer.basicinjectiontarget.inject(basicinjectiontarget.java:91) @ org.jboss.weld.bean.managedbean.create(managedbean.java:158) @ org.jboss.weld.context.unbound.dependentcontextimpl.get(dependentcontextimpl.java:69) @ org.jboss.weld.manager.beanmanagerimpl.getreference(beanmanagerimpl.java:716) @ org.jboss.weld.manager.beanmanagerimpl.getreference(beanmanagerimpl.java:774) @ org.jboss.weld.injection.fieldinjectionpoint.inject(fieldinjectionpoint.java:92) @ org.jboss.weld.util.beans.injectboundfields(beans.java:368) @ org.jboss.weld.util.beans.injectfieldsandinitializers(beans.java:377) @ org.jboss.weld.injection.producer.defaultinjector.inject(defaultinjector.java:72) @ org.jboss.weld.injection.producer.resourceinjector.inject(resourceinjector.java:60) @ org.jboss.weld.injection.producer.defaultinjector$1.proceed(defaultinjector.java:66) @ org.glassfish.weld.services.injectionservicesimpl.aroundinject(injectionservicesimpl.java:142) @ org.jboss.weld.injection.injectioncontextimpl.run(injectioncontextimpl.java:46) @ org.jboss.weld.injection.producer.defaultinjector.inject(defaultinjector.java:64) @ org.jboss.weld.injection.producer.basicinjectiontarget.inject(basicinjectiontarget.java:91) @ org.jboss.weld.bean.managedbean.create(managedbean.java:158) @ org.jboss.weld.context.unbound.dependentcontextimpl.get(dependentcontextimpl.java:69) @ org.jboss.weld.manager.beanmanagerimpl.getreference(beanmanagerimpl.java:716) @ org.jboss.weld.manager.beanmanagerimpl.getreference(beanmanagerimpl.java:738) @ org.apache.deltaspike.partialbean.impl.partialbeanlifecycle.createhandlerinstance(partialbeanlifecycle.java:178) @ org.apache.deltaspike.partialbean.impl.partialbeanlifecycle.create(partialbeanlifecycle.java:116) @ org.apache.deltaspike.core.util.bean.immutablebean.create(immutablebean.java:72) @ org.jboss.weld.context.unbound.dependentcontextimpl.get(dependentcontextimpl.java:69) @ org.jboss.weld.manager.beanmanagerimpl.getreference(beanmanagerimpl.java:716) @ org.jboss.weld.manager.beanmanagerimpl.getreference(beanmanagerimpl.java:774) @ org.jboss.weld.injection.fieldinjectionpoint.inject(fieldinjectionpoint.java:92) @ org.jboss.weld.util.beans.injectboundfields(beans.java:368) @ org.jboss.weld.util.beans.injectfieldsandinitializers(beans.java:377) @ org.jboss.weld.injection.producer.defaultinjector.inject(defaultinjector.java:72) @ org.jboss.weld.injection.producer.statelesssessionbeaninjector.inject(statelesssessionbeaninjector.java:50) @ org.jboss.weld.injection.producer.defaultinjector$1.proceed(defaultinjector.java:66) @ org.glassfish.weld.services.injectionservicesimpl.aroundinject(injectionservicesimpl.java:142) @ org.jboss.weld.injection.injectioncontextimpl.run(injectioncontextimpl.java:46) @ org.jboss.weld.injection.producer.defaultinjector.inject(defaultinjector.java:64) @ org.jboss.weld.injection.producer.basicinjectiontarget.inject(basicinjectiontarget.java:91) @ org.glassfish.weld.services.jcdiserviceimpl.injectejbinstance(jcdiserviceimpl.java:257) @ com.sun.ejb.containers.basecontainer.injectejbinstance(basecontainer.java:1683) @ com.sun.ejb.containers.statelesssessioncontainer.createstatelessejb(statelesssessioncontainer.java:475) ... 94 more caused by: com.sun.enterprise.container.common.spi.util.injectionexception: exception attempting inject env-prop: org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy/usertransaction@field-injectable resource. class name = org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy field name=usertransaction@java.lang.string@java:comp/usertransaction@@ class org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy: lookup failed 'java:comp/env/org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy/usertransaction' in serialcontext[myenv={java.naming.factory.initial=com.sun.enterprise.naming.impl.serialinitcontextfactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.jndistatefactoryimpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} @ com.sun.enterprise.container.common.impl.util.injectionmanagerimpl._inject(injectionmanagerimpl.java:717) @ com.sun.enterprise.container.common.impl.util.injectionmanagerimpl.inject(injectionmanagerimpl.java:484) @ com.sun.enterprise.container.common.impl.util.injectionmanagerimpl.injectinstance(injectionmanagerimpl.java:170) @ org.glassfish.weld.services.injectionservicesimpl.aroundinject(injectionservicesimpl.java:138) ... 148 more caused by: javax.naming.namingexception: lookup failed 'java:comp/env/org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy/usertransaction' in serialcontext[myenv={java.naming.factory.initial=com.sun.enterprise.naming.impl.serialinitcontextfactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.jndistatefactoryimpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [root exception javax.naming.namingexception: lookup failed 'java:comp/usertransaction' in serialcontext[myenv={java.naming.factory.initial=com.sun.enterprise.naming.impl.serialinitcontextfactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.jndistatefactoryimpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming, com.sun.enterprise.naming.logicalname=java:comp/env/org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy/usertransaction} [root exception javax.naming.namenotfoundexception: lookup of java:comp/usertransaction not allowed container managed transaction beans]] @ com.sun.enterprise.naming.impl.serialcontext.lookup(serialcontext.java:491) @ com.sun.enterprise.naming.impl.serialcontext.lookup(serialcontext.java:438) @ javax.naming.initialcontext.lookup(initialcontext.java:411) @ javax.naming.initialcontext.lookup(initialcontext.java:411) @ com.sun.enterprise.container.common.impl.util.injectionmanagerimpl._inject(injectionmanagerimpl.java:613) ... 151 more caused by: javax.naming.namingexception: lookup failed 'java:comp/usertransaction' in serialcontext[myenv={java.naming.factory.initial=com.sun.enterprise.naming.impl.serialinitcontextfactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.jndistatefactoryimpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming, com.sun.enterprise.naming.logicalname=java:comp/env/org.apache.deltaspike.jpa.impl.transaction.beanmanagedusertransactionstrategy/usertransaction} [root exception javax.naming.namenotfoundexception: lookup of java:comp/usertransaction not allowed container managed transaction beans] @ com.sun.enterprise.naming.impl.serialcontext.lookup(serialcontext.java:491) @ com.sun.enterprise.naming.impl.serialcontext.lookup(serialcontext.java:438) @ javax.naming.initialcontext.lookup(initialcontext.java:411) @ javax.naming.initialcontext.lookup(initialcontext.java:411) @ com.sun.enterprise.naming.util.jndinamingobjectfactory.create(jndinamingobjectfactory.java:90) @ com.sun.enterprise.container.common.impl.componentenvmanagerimpl$1.create(componentenvmanagerimpl.java:714) @ com.sun.enterprise.naming.impl.glassfishnamingmanagerimpl.lookup(glassfishnamingmanagerimpl.java:745) @ com.sun.enterprise.naming.impl.glassfishnamingmanagerimpl.lookup(glassfishnamingmanagerimpl.java:715) @ com.sun.enterprise.naming.impl.javaurlcontext.lookup(javaurlcontext.java:159) @ com.sun.enterprise.naming.impl.serialcontext.lookup(serialcontext.java:471) ... 155 more caused by: javax.naming.namenotfoundexception: lookup of java:comp/usertransaction not allowed container managed transaction beans

please help me. not know how solve the

transactions glassfish ejb jta deltaspike

No comments:

Post a Comment