[ https://issues.apache.org/jira/browse/OFBIZ-6808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Swapnil M Mane updated OFBIZ-6808: ---------------------------------- Description: We are using Groovy as event in the controller request, everything works fine for us but as we used delegator.find() it generates the following error ----------------------------------------------------------------------------------------------------------------------------------------------------------- ERROR: Cannot do a find that returns an EntityListIterator with no transaction in place. Wrap this call in a transaction. [java] java.lang.Exception: Stack Trace [java] at org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1757) [ofbiz-entity.jar:?] [java] at org.ofbiz.entity.Delegator$find.call(Unknown Source) [ofbiz-entity.jar:?] [java] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) [groovy-all-2.2.1.jar:2.2.1] [java] at ProductInventory$_run_closure1.doCall(ProductInventory.groovy:18) [script:?] [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60] [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_60] [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60] [java] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60] [java] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) [groovy-all-2.2.1.jar:2.2.1] [java] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272) [groovy-all-2.2.1.jar:2.2.1] [java] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909) [groovy-all-2.2.1.jar:2.2.1] [java] at groovy.lang.Closure.call(Closure.java:423) [groovy-all-2.2.1.jar:2.2.1] [java] at groovy.lang.Closure.call(Closure.java:439) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1324) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1296) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.dgm$147.invoke(Unknown Source) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) [groovy-all-2.2.1.jar:2.2.1] [java] at ProductInventory.run(ProductInventory.groovy:11) [script:?] [java] at org.ofbiz.webapp.event.GroovyEventHandler.invoke(GroovyEventHandler.java:107) [ofbiz-webapp.jar:?] [java] at org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:763) [ofbiz-webapp.jar:?] [java] at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:476) [ofbiz-webapp.jar:?] [java] at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:210) [ofbiz-webapp.jar:?] [java] at org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:89) [ofbiz-webapp.jar:?] [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) [servlet-api-3.0.jar:?] [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api-3.0.jar:?] [java] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:349) [ofbiz-webapp.jar:?] [java] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] [java] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] [java] at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] [java] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_60] [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_60] [java] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] [java] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60] ----------------------------------------------------------------------------------------------------------------------------------------------------------- Reason: Since we are using find method of GenericDelegator.java As per the code implementation it required the transaction should exist if (!TransactionUtil.isTransactionInPlace()) { if not, it generate error ERROR: Cannot do a find that returns an EntityListIterator with no transaction in place. Wrap this call in a transaction. ----------------------------------------------------------------------------------------------------------------------------------------------------------- Possible Solution: The one possible solution could be to initialize the transaction when the groovy is called as event and commit the transaction after the completion. The following code base at the starting and ending of GroovyEventHandler.java can resolve the issue. // At begining if (!TransactionUtil.isTransactionInPlace()) { TransactionUtil.begin(); } // At End if (!TransactionUtil.isTransactionInPlace()) { TransactionUtil.commit(); } was: We are using Groovy as event in the controller request, everything works fine for us but as we used delegator.find() it generates the following error ERROR: Cannot do a find that returns an EntityListIterator with no transaction in place. Wrap this call in a transaction. [java] java.lang.Exception: Stack Trace [java] at org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1757) [ofbiz-entity.jar:?] [java] at org.ofbiz.entity.Delegator$find.call(Unknown Source) [ofbiz-entity.jar:?] [java] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) [groovy-all-2.2.1.jar:2.2.1] [java] at ProductInventory$_run_closure1.doCall(ProductInventory.groovy:18) [script:?] [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60] [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_60] [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60] [java] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60] [java] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) [groovy-all-2.2.1.jar:2.2.1] [java] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272) [groovy-all-2.2.1.jar:2.2.1] [java] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909) [groovy-all-2.2.1.jar:2.2.1] [java] at groovy.lang.Closure.call(Closure.java:423) [groovy-all-2.2.1.jar:2.2.1] [java] at groovy.lang.Closure.call(Closure.java:439) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1324) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1296) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.dgm$147.invoke(Unknown Source) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) [groovy-all-2.2.1.jar:2.2.1] [java] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) [groovy-all-2.2.1.jar:2.2.1] [java] at ProductInventory.run(ProductInventory.groovy:11) [script:?] [java] at org.ofbiz.webapp.event.GroovyEventHandler.invoke(GroovyEventHandler.java:107) [ofbiz-webapp.jar:?] [java] at org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:763) [ofbiz-webapp.jar:?] [java] at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:476) [ofbiz-webapp.jar:?] [java] at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:210) [ofbiz-webapp.jar:?] [java] at org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:89) [ofbiz-webapp.jar:?] [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) [servlet-api-3.0.jar:?] [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api-3.0.jar:?] [java] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:349) [ofbiz-webapp.jar:?] [java] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) [tomcat-7.0.65-catalina.jar:7.0.65] [java] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] [java] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] [java] at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] [java] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_60] [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_60] [java] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] [java] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60] Reason: Since we are using find method of GenericDelegator.java As per the code implementation it required the transaction should exist if (!TransactionUtil.isTransactionInPlace()) { if not, it generate error ERROR: Cannot do a find that returns an EntityListIterator with no transaction in place. Wrap this call in a transaction. Possible Solution: The one possible solution could be to initialize the transaction when the groovy is called as event and commit the transaction after the completion. The following code base at the starting and ending of GroovyEventHandler.java can resolve the issue. // At begining if (!TransactionUtil.isTransactionInPlace()) { TransactionUtil.begin(); } // At End if (!TransactionUtil.isTransactionInPlace()) { TransactionUtil.commit(); } > Calling Groovy as Event generates error when delegator.find used > ---------------------------------------------------------------- > > Key: OFBIZ-6808 > URL: https://issues.apache.org/jira/browse/OFBIZ-6808 > Project: OFBiz > Issue Type: Bug > Components: framework > Affects Versions: Trunk, Upcoming Branch > Reporter: Swapnil M Mane > > We are using Groovy as event in the controller request, everything works fine > for us but as we used delegator.find() > it generates the following error > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > ERROR: Cannot do a find that returns an EntityListIterator with no > transaction in place. Wrap this call in a transaction. > [java] java.lang.Exception: Stack Trace > [java] at > org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1757) > [ofbiz-entity.jar:?] > [java] at org.ofbiz.entity.Delegator$find.call(Unknown Source) > [ofbiz-entity.jar:?] > [java] at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > ProductInventory$_run_closure1.doCall(ProductInventory.groovy:18) [script:?] > [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[?:1.8.0_60] > [java] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[?:1.8.0_60] > [java] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:1.8.0_60] > [java] at java.lang.reflect.Method.invoke(Method.java:497) > ~[?:1.8.0_60] > [java] at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > [groovy-all-2.2.1.jar:2.2.1] > [java] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909) > [groovy-all-2.2.1.jar:2.2.1] > [java] at groovy.lang.Closure.call(Closure.java:423) > [groovy-all-2.2.1.jar:2.2.1] > [java] at groovy.lang.Closure.call(Closure.java:439) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1324) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1296) > [groovy-all-2.2.1.jar:2.2.1] > [java] at org.codehaus.groovy.runtime.dgm$147.invoke(Unknown Source) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) > [groovy-all-2.2.1.jar:2.2.1] > [java] at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) > [groovy-all-2.2.1.jar:2.2.1] > [java] at ProductInventory.run(ProductInventory.groovy:11) [script:?] > [java] at > org.ofbiz.webapp.event.GroovyEventHandler.invoke(GroovyEventHandler.java:107) > [ofbiz-webapp.jar:?] > [java] at > org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:763) > [ofbiz-webapp.jar:?] > [java] at > org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:476) > [ofbiz-webapp.jar:?] > [java] at > org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:210) > [ofbiz-webapp.jar:?] > [java] at > org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:89) > [ofbiz-webapp.jar:?] > [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) > [servlet-api-3.0.jar:?] > [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) > [servlet-api-3.0.jar:?] > [java] at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:349) > [ofbiz-webapp.jar:?] > [java] at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) > [tomcat-7.0.65-catalina.jar:7.0.65] > [java] at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) > [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] > [java] at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) > [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] > [java] at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) > [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] > [java] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [?:1.8.0_60] > [java] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [?:1.8.0_60] > [java] at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > [tomcat-7.0.65-tomcat-coyote.jar:7.0.65] > [java] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60] > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > Reason: > Since we are using find method of GenericDelegator.java > As per the code implementation it required the transaction should exist > if (!TransactionUtil.isTransactionInPlace()) { > if not, it generate error > ERROR: Cannot do a find that returns an EntityListIterator with no > transaction in place. Wrap this call in a transaction. > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > Possible Solution: > The one possible solution could be to initialize the transaction when the > groovy is called as event and commit the transaction after the completion. > The following code base at the starting and ending of GroovyEventHandler.java > can resolve the issue. > // At begining > if (!TransactionUtil.isTransactionInPlace()) { > TransactionUtil.begin(); > } > // At End > if (!TransactionUtil.isTransactionInPlace()) { > TransactionUtil.commit(); > } -- This message was sent by Atlassian JIRA (v6.3.4#6332)