Hi we are several to wish it for the end of the year so hopefully yes.
Romain Manni-Bucau @rmannibucau http://www.tomitribe.com http://rmannibucau.wordpress.com https://github.com/rmannibucau 2014-12-01 9:20 GMT+01:00 Alex A <[email protected]>: > Hi Romain, > > We tried the 1.7.2 snapshot. > When setting openejb.cxf.CxfContainerClassLoader = false, it does fix the > issue! > Thank you > When will 1.7.2 be GA? > Couldn't find the info on the site. > > Alexandre > > > ---------------------------------------- >> Date: Thu, 27 Nov 2014 12:50:48 +0100 >> Subject: RE: TomEE+ 1.7.1 Classloader gets replaced by >> CxfContainerClassLoader which causes ClassNotFoundException in Rhino/Nashorn >> ScriptEngine >> From: [email protected] >> To: [email protected] >> >> It is on our heads so you can test 1.7.2 snapshot >> >> Le 27 nov. 2014 12:46, "Alex A" <[email protected]> a écrit : >>> >>> Hello Romain, >>> >>> Unfortunately openejb.cxf.CxfContainerClassLoader=false does not change >> anything (still the same class loader, still the same issue) >>> >>> 1) and 2) do work but are not affordable in our app. >>> Threads are required for a/ lengthy scripts, b/ controlling the executor >> pool size (number of scripts run in parallel), c/ having less DB privileges >> than the main WS thread. >>> EJB is just not our current design. >>> >>> Please tell me when the flag is added so that the 1.5.2 behavior is back. >> In the meantime we stick to 1.5.2. >>> >>> Many thanks >>> >>> >>> >>> >>>> From: [email protected] >>>> To: [email protected] >>>> Subject: RE: TomEE+ 1.7.1 Classloader gets replaced by >> CxfContainerClassLoader which causes ClassNotFoundException in >> Rhino/Nashorn ScriptEngine >>>> Date: Wed, 26 Nov 2014 23:24:28 +0100 >>>> >>>> Thank you RomainWe will consider 1) and 2) however we need the >> additional thread mainly to prevent WS timeout for lengthy scripts but out >> of curiosity we will try to reproduce on the sample without the threadBut >> first time in the morning we will try >> openejb.cxf.CxfContainerClassLoader=false which sounds great >>>> Will let you knowRegards >>>> >>>>> From: [email protected] >>>>> Date: Wed, 26 Nov 2014 19:48:18 +0100 >>>>> Subject: Re: TomEE+ 1.7.1 Classloader gets replaced by >> CxfContainerClassLoader which causes ClassNotFoundException in >> Rhino/Nashorn ScriptEngine >>>>> To: [email protected] >>>>> >>>>> PS: did you try openejb.cxf.CxfContainerClassLoader=false in >>>>> conf/system.properties? >>>>> >>>>> >>>>> Romain Manni-Bucau >>>>> @rmannibucau >>>>> http://www.tomitribe.com >>>>> http://rmannibucau.wordpress.com >>>>> https://github.com/rmannibucau >>>>> >>>>> >>>>> 2014-11-26 17:45 GMT+01:00 Romain Manni-Bucau : >>>>>> we'll add a flag to switch it off but there is no issue on our side. >>>>>> You can solve it: >>>>>> 1) not using a new thread >>>>>> 2) using an EJB to execute the js >>>>>> >>>>>> >>>>>> Romain Manni-Bucau >>>>>> @rmannibucau >>>>>> http://www.tomitribe.com >>>>>> http://rmannibucau.wordpress.com >>>>>> https://github.com/rmannibucau >>>>>> >>>>>> >>>>>> 2014-11-26 17:34 GMT+01:00 Alex A : >>>>>>> So? it worked in 1.5.2 and does not work anymore in 1.7.1.Even >> before starting the new thread the classloader is already this new >> CxfContainerClassLoader (see server trace) which seems unable to load >> CloudUtils from same webapp. >>>>>>> thank you >>>>>>> >>>>>>> >>>>>>> >>>>>>>> From: [email protected] >>>>>>>> Date: Wed, 26 Nov 2014 14:23:00 +0100 >>>>>>>> Subject: Re: TomEE+ 1.7.1 Classloader gets replaced by >> CxfContainerClassLoader which causes ClassNotFoundException in >> Rhino/Nashorn ScriptEngine >>>>>>>> To: [email protected] >>>>>>>> >>>>>>>> Hi >>>>>>>> >>>>>>>> com.mycompany.bl.MyInstance#executeJavaScript starts a new thread >> and >>>>>>>> then look the classloader which is bound to the request thread >>>>>>>> >>>>>>>> >>>>>>>> Romain Manni-Bucau >>>>>>>> @rmannibucau >>>>>>>> http://www.tomitribe.com >>>>>>>> http://rmannibucau.wordpress.com >>>>>>>> https://github.com/rmannibucau >>>>>>>> >>>>>>>> >>>>>>>> 2014-11-26 13:27 GMT+01:00 Alex A : >>>>>>>>> Bonjour Romain, >>>>>>>>> >>>>>>>>> Many thanks for your reply. >>>>>>>>> We have been able to shrink down our app into the attached >> sample.zip and it >>>>>>>>> does reproduce the issue! >>>>>>>>> The sample comprises a JAX-WS client and a webapp implementing the >> WS and >>>>>>>>> evaluating the input script. >>>>>>>>> >>>>>>>>> >>>>>>>>> TomEE+ 1.7.1: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >>>>>>>>> >>>>>>>>> *-*-*- ExecuteJavaScript Issue *-*-* >>>>>>>>> >>>>>>>>> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >>>>>>>>> >>>>>>>>> Connecting to WebServices at >>>>>>>>> http://localhost:8080/WebServiceProject/MyWebServiceWS >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *- Main menu -* >>>>>>>>> >>>>>>>>> 1. ExecuteJavaScript >>>>>>>>> >>>>>>>>> 2. Exit >>>>>>>>> >>>>>>>>> Your choice [Exit]? 1 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ExecuteJavaScript: >>>>>>>>> >>>>>>>>>> Entering console mode. Type in your script, then "run" to finish >> typing. >>>>>>>>> >>>>>>>>> com.mycompany.cloudutils.CloudUtils.nowStr() >>>>>>>>> >>>>>>>>> run >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ScriptException around line [ >> com.mycompany.cloudutils.CloudUtils.nowStr() ] >>>>>>>>> >>>>>>>>>>>> sun.org.mozilla.javascript.internal.EcmaError: TypeError: >> Cannot call >>>>>>>>>>>> property nowStr in object [JavaPackage >> com.mycompany.cloudutils.CloudUtils]. >>>>>>>>>>>> It is not a function, it is "object". (#1) in>>>>>>>> source> >> at line number 1 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> SERVER TRACE (showing the classloader is indeed >> CxfContainerClassLoader as >>>>>>>>> soon as we enter the @WebMethod): >>>>>>>>> >>>>>>>>> CLASSLOADER_FROMSTART: >>>>>>>>> >> org.apache.openejb.server.cxf.transport.util.CxfContainerClassLoader@7bb42c30 >>>>>>>>> // when WS is called >>>>>>>>> >>>>>>>>> CLASSLOADER_EXECUTION: >>>>>>>>> >> org.apache.openejb.server.cxf.transport.util.CxfContainerClassLoader@7bb42c30 >>>>>>>>> // at javascript execution >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> TomEE+ 1.5.2: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >>>>>>>>> >>>>>>>>> *-*-*- ExecuteJavaScript Issue *-*-* >>>>>>>>> >>>>>>>>> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >>>>>>>>> >>>>>>>>> Connecting to WebServices at >>>>>>>>> http://localhost:8080/WebServiceProject/MyWebServiceWS >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *- Main menu -* >>>>>>>>> >>>>>>>>> 1. ExecuteJavaScript >>>>>>>>> >>>>>>>>> 2. Exit >>>>>>>>> >>>>>>>>> Your choice [Exit]? 1 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ExecuteJavaScript: >>>>>>>>> >>>>>>>>>> Entering console mode. Type in your script, then "run" to finish >> typing. >>>>>>>>> >>>>>>>>> com.mycompany.cloudutils.CloudUtils.nowStr() >>>>>>>>> >>>>>>>>> run >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2014/11/26 12:24:48.332 +0100 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> SERVER TRACE (showing we keep the StandardClassLoader all along): >>>>>>>>> >>>>>>>>> CLASSLOADER_FROMSTART: LazyStopWebappClassLoader >>>>>>>>> >>>>>>>>> context: /WebServiceProject >>>>>>>>> >>>>>>>>> delegate: false >>>>>>>>> >>>>>>>>> repositories: >>>>>>>>> >>>>>>>>> /WEB-INF/classes/ >>>>>>>>> >>>>>>>>> ----------> Parent Classloader: >>>>>>>>> >>>>>>>>> org.apache.catalina.loader.StandardClassLoader@771c7eb2 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> CLASSLOADER_EXECUTION: LazyStopWebappClassLoader >>>>>>>>> >>>>>>>>> context: /WebServiceProject >>>>>>>>> >>>>>>>>> delegate: false >>>>>>>>> >>>>>>>>> repositories: >>>>>>>>> >>>>>>>>> /WEB-INF/classes/ >>>>>>>>> >>>>>>>>> ----------> Parent Classloader: >>>>>>>>> >>>>>>>>> org.apache.catalina.loader.StandardClassLoader@771c7eb2 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thank you for your precious help >>>>>>>>> >>>>>>>>> Alexandre >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> >>>> >>> >
