[ 
https://issues.apache.org/jira/browse/OFBIZ-4444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14099593#comment-14099593
 ] 

Anil K Patel commented on OFBIZ-4444:
-------------------------------------

IMO, this business requirement should be handled little differently. We should 
first generate Market Basket analysis report from Order data and then based on 
user defined criteria "Also bought" product assocs should be created.

> createAlsoBoughtProductAssocs service does not work
> ---------------------------------------------------
>
>                 Key: OFBIZ-4444
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4444
>             Project: OFBiz
>          Issue Type: Bug
>          Components: order
>    Affects Versions: Release 10.04
>         Environment: any
>            Reporter: Alexander Reelsen
>
> Here is the exception which occurs when running the service
>      [java] ---- exception report 
> ----------------------------------------------------------
>      [java] ERROR: Cannot do a find that returns an EntityListIterator with 
> no transaction in place. Wrap this call in a transaction.
>      [java] Exception: java.lang.Exception
>      [java] Message: Stack Trace
>      [java] ---- stack trace 
> ---------------------------------------------------------------
>      [java] java.lang.Exception: Stack Trace
>      [java] org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1728)
>      [java] 
> org.ofbiz.order.order.OrderServices$1.call(OrderServices.java:5832)
>      [java] 
> org.ofbiz.order.order.OrderServices$1.call(OrderServices.java:5827)
>      [java] 
> org.ofbiz.entity.transaction.TransactionUtil$NoTransaction.call(TransactionUtil.java:978)
>      [java] 
> org.ofbiz.entity.transaction.TransactionUtil$InTransaction.call(TransactionUtil.java:1003)
>      [java] 
> org.ofbiz.entity.transaction.TransactionUtil.doNewTransaction(TransactionUtil.java:89)
>      [java] 
> org.ofbiz.order.order.OrderServices.createAlsoBoughtProductAssocs(OrderServices.java:5827)
>      [java] sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>      [java] 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>      [java] 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      [java] java.lang.reflect.Method.invoke(Method.java:597)
>      [java] 
> org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:100)
>      [java] 
> org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:57)
>      [java] 
> org.ofbiz.service.ModelServiceReader$GenericInvokerImpl.runSync(ModelServiceReader.java:761)
>      [java] 
> _$gen.file_58$.Users.alexanderreelsen.lusini.development.ofbiz.ofbiz.applications.order.servicedef.services_46$xml_35$createAlsoBoughtProductAssocs.runSync(file:/Users/alexanderreelsen/lusini/development/ofbiz/ofbiz/applications/order/servicedef/services.xml#createAlsoBoughtProductAssocs:1057)
>      [java] 
> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:399)
>      [java] 
> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226)
>      [java] 
> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:163)
>      [java] 
> org.ofbiz.webapp.event.CoreEvents.scheduleService(CoreEvents.java:412)
>      [java] sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>      [java] 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>      [java] 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      [java] java.lang.reflect.Method.invoke(Method.java:597)
>      [java] 
> org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:93)
>      [java] 
> org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:79)
>      [java] 
> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:648)
>      [java] 
> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:394)
>      [java] 
> org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224)
>      [java] 
> org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:77)
>      [java] javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>      [java] javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>      [java] 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>      [java] 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>      [java] 
> org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:343)
>      [java] 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>      [java] 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>      [java] 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>      [java] 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>      [java] 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>      [java] 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>      [java] 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>      [java] 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:589)
>      [java] 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
>      [java] 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
>      [java] 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
>      [java] 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>      [java] java.lang.Thread.run(Thread.java:680)
>      [java] 
> --------------------------------------------------------------------------------
> A possible bugfix would be to change 
> OrderServices.java:createAlsoBoughtProductAssocs() to use the current 
> transaction when getting the order header entities
> -            orderIds = TransactionUtil.doNewTransaction(new 
> Callable<List<String>>() {
> +            orderIds = TransactionUtil.doTransaction(new 
> Callable<List<String>>() {



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to