I assume the current script engine use evaluate method. We can support evaluating once and invoking per request. This will add significant per-request performance improvements.
Also when switching to nashorn we may be able to support IDEA debugging like we have done for new UI framework. On Mon, Apr 11, 2016 at 1:47 PM, Kasun Indrasiri <[email protected]> wrote: > I think for a major release such as 5.0, its quite important to get this > kind of major limitations fixed (this has been raised in several occasions > AFAIR) > > Lets spend sometime and evaluate the effort involves with this. > For Connectors, if this introduce any issues, we have to fix them and > re-release connectors. Here we are talking about a major release and we > simply can't halt such enhancements because of the down stream > components/features. > > On Mon, Apr 11, 2016 at 2:04 PM, Maheeka Jayasuriya <[email protected]> > wrote: > >> Hi all, >> >> Current script mediator implementation depends on apache-commons-bsf-3.0 >> to get the script engines for Rhino, Ruby, Groovy and Jython [1][2]. >> However, moving forward if we are to support newer Rhino and Nashorn (for >> Java 8) we can directly use these engines or any other implementation of >> our own by extending javax.script.ScriptEngine and >> javax.script.ScriptEngineFactory respectively. We only need to register >> these with the javax.script.ScriptEngineManager. We can for the moment >> support newer version of Rhino and Nashorn as new script engines (by >> defining a new parameter value to select the engine) so as to not break the >> existing stories. >> >> Are we aware of all the limitations of Rhino at the moment? Is it only >> the 64KB limitation that we are focusing on? >> >> [1] http://commons.apache.org/proper/commons-bsf/ >> [2] >> https://github.com/wso2/wso2-synapse/blob/master/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMediator.java >> : initScriptEngine() method >> >> Thanks, >> Maheeka >> >> >> Maheeka Jayasuriya >> Software Engineer >> Mobile : +94777750661 >> >> On Mon, Apr 11, 2016 at 12:55 PM, Prabath Ariyarathna <[email protected] >> > wrote: >> >>> @PrabathAR - Can you give us more details on this please? >>> >>> Inside Rhino engine, we can set optimization levels[1] which change the >>> behavior of the engine. Default level is 0 and no optimizations are >>> performed, but we can set this level in between -1 and 9 for the different >>> optimizations. We can set this level to -1 which Rhino switch into the >>> interpreted mode, which means that it goes down to a different path for >>> executing the code than it does in compiled mode. Interpreted mode is, of >>> course, slower than compiled mode but improvement from the memory usage >>> side[2]. >>> If we can give the optimization level in a configurable way we can >>> overcome this issue. >>> >>> But +1 for adding new Rhino version if issue already fixed it in the >>> later version. However we can check the possibility of adding configurable >>> optimization levels. >>> >>> [1] >>> https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Optimization >>> [2] >>> http://stackoverflow.com/questions/14538541/performance-of-the-compiled-vs-interpreted-javascript-in-java7-rhino >>> >>> Thanks. >>> >>> On Mon, Apr 11, 2016 at 12:34 PM, Vanjikumaran Sivajothy <[email protected] >>> > wrote: >>> >>>> With JDK 8, there is an in-build JS engine called Nashorn. Isn't that >>>> worth to leverage the JS support by using native implementation to JDK 8? >>>> >>>> >>>> [1] >>>> http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html >>>> >>>> On Sun, Apr 10, 2016 at 11:57 PM, Malaka Silva <[email protected]> wrote: >>>> >>>>> PrabathAR has already found a way to support this using existing rhino >>>>> version. There is a configuration to optimize the execution. >>>>> >>>>> @PrabathAR - Can you give us more details on this please? >>>>> >>>>> On Mon, Apr 11, 2016 at 12:22 PM, Nuwan Pallewela <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> There is a limitation in wso2 script mediator when we try to >>>>>> manipulate payloads with JavaScript as the scripting language, when the >>>>>> Payload size is larger than 64KB, ESB throws an exception. Cause for this >>>>>> is Rhino version which is used by the script mediator has a limitation of >>>>>> handling JavaScript objects of size 64KB or more. But rhino have fixed it >>>>>> in the later versions. So we can include new rhino and nashorn engines as >>>>>> the script engine for JS in script mediator and avoid the limitation of >>>>>> handling larger payloads. >>>>>> Can we do this improvement to ESB 5.0.0 release? >>>>>> >>>>>> Thanks, >>>>>> Nuwan >>>>>> >>>>>> -- >>>>>> ---------------------------------------------------------- >>>>>> >>>>>> *Nuwan Chamara Pallewela* >>>>>> >>>>>> >>>>>> *Software Engineer* >>>>>> >>>>>> *WSO2, Inc. *http://wso2.com >>>>>> *lean . enterprise . middleware* >>>>>> >>>>>> Email *[email protected] <[email protected]>* >>>>>> Mobile *+94719079739 <%2B94719079739>@* >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Architecture mailing list >>>>>> [email protected] >>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> Best Regards, >>>>> >>>>> Malaka Silva >>>>> Senior Tech Lead >>>>> M: +94 777 219 791 >>>>> Tel : 94 11 214 5345 >>>>> Fax :94 11 2145300 >>>>> Skype : malaka.sampath.silva >>>>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 >>>>> Blog : http://mrmalakasilva.blogspot.com/ >>>>> >>>>> WSO2, Inc. >>>>> lean . enterprise . middleware >>>>> http://www.wso2.com/ >>>>> http://www.wso2.com/about/team/malaka-silva/ >>>>> <http://wso2.com/about/team/malaka-silva/> >>>>> https://store.wso2.com/store/ >>>>> >>>>> Save a tree -Conserve nature & Save the world for your future. Print >>>>> this email only if it is absolutely necessary. >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> >>>> -- >>>> Vanjikumaran Sivajothy >>>> *Associate Technical Lead* >>>> *WSO2 Inc. http://wso2.com <http://wso2.com/>* >>>> *+1-925-464-6816* >>>> [image: Facebook] <https://www.facebook.com/vanjikumaran> [image: >>>> Twitter] <https://twitter.com/vanjikumaran> [image: LinkedIn] >>>> <http://www.linkedin.com/pub/vanjikumaran-sivajothy/25/b31/293> [image: >>>> Blogger] <http://vanjikumaran.blogspot.com/> [image: SlideShare] >>>> <http://www.slideshare.net/vanjikumaran> >>>> >>>> This communication may contain privileged or other >>>> confidential information and is intended exclusively for the addressee/s. >>>> If you are not the intended recipient/s, or believe that you may >>>> have received this communication in error, please reply to the >>>> sender indicating that fact and delete the copy you received and in >>>> addition, you should not print, copy, re-transmit, disseminate, or >>>> otherwise use the information contained in this communication. >>>> Internet communications cannot be guaranteed to be timely, secure, error >>>> or virus-free. The sender does not accept liability for any errors >>>> or omissions >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> >>> *Prabath Ariyarathna* >>> >>> *Associate Technical Lead* >>> >>> *WSO2, Inc. * >>> >>> *lean . enterprise . middleware * >>> >>> >>> *Email: [email protected] <[email protected]>* >>> >>> *Blog: http://prabu-lk.blogspot.com <http://prabu-lk.blogspot.com>* >>> >>> *Flicker : https://www.flickr.com/photos/47759189@N08 >>> <https://www.flickr.com/photos/47759189@N08>* >>> >>> *Mobile: +94 77 699 4730 * >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Kasun Indrasiri > Software Architect > WSO2, Inc.; http://wso2.com > lean.enterprise.middleware > > cell: +94 77 556 5206 > Blog : http://kasunpanorama.blogspot.com/ > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- With regards, *Manu*ranga Perera. phone : 071 7 70 20 50 mail : [email protected]
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
