[
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:
> 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)