DVD wrote: > Thanks. I have many threads come and go instead of a fixed pool so > the overhead is big. > I hope rhino to have a mode that would allow a preloaded/compiled JS > (template) to be executed repeatedly > with different scope (essentially a template engine ) to produce an > output string. > the template would run in only single thread before producing the output. > Equivalent of Freemarker engine. Would it be possible? Or because of > this issue, > Rhino has not been widely used as template engine for Java, compared > to others like > velocity/freemarker. This should definitely not be a problem.
In ESXX, for instance, I have an ExecutorService with a ThreadFactory that enters/leaves a JS context as part of the thead's lifespan. These threads then handles requests by calling functions in a JS application scope. The application scope is set up once when the JS app is loaded, by executing the pre-compiled JS scripts files (using Context.compileString()) with it. If you want your requests to execute isolated from each other, you can simply create a new global scope and execute the compiled script with it for each request. (It's also possible to mix these strategies by having a shared top-level scope and using the prototype chain to add per-request scopes (needs Context.FEATURE_DYNAMIC_SCOPE, I think), but I could never quite get this to work properly, since in ESXX, I need to allow arbitrary Java threads to call JS functions, and there were some issues that I have forgotten about now.) -- ---- Martin Blom --------------------------- [email protected] ---- Eccl 1:18 http://martin.blom.org/
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
