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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>
>>>
>

Reply via email to