Add support for asynchronous script execution and cancellation
--------------------------------------------------------------
Key: JEXL-115
URL: https://issues.apache.org/jira/browse/JEXL-115
Project: Commons JEXL
Issue Type: Improvement
Reporter: Henri Biestro
Assignee: Henri Biestro
Fix For: 2.0.2
WHY:
To allow proper sandboxing and let users run their own script, it is necessary
to control the time a script is allowed to run and avoid runaway executions
(for instance while(true); ).
WHAT:
Support for asynchronuous execution is usually based on
Runnable/Callable/Future and Thread interruption. The Callable interface seems
the most versatile so a method to transform a Script into a Callable seems in
order. Thread interruption is in most cases an indication that must be checked
(besides locking methods) somehow.
HOW:
Creating a Callable from a Script, Context (and arguments) is straightforward.
Checking thread interruption can be performed in the Interpreter loop at "key"
points namely getting/setting properties, calling methods/functions, resolving
identifiers and of course, within loop constructs (for, while).
BACKGROUND:
http://apache-commons.680414.n4.nabble.com/jexl-JEXL-Secure-Sandbox-tt3626959.html
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira