Поддерживает ли Google App Engine Java Script Engine?
Я хочу динамически оценивать код JavaScript в среде выполнения Google App Engine.
У Java есть эта функция, но я хочу знать, поддерживается ли она тоже GAE.
Если вы можете предоставить простой код будет очень признателен, и если вы используете его, пожалуйста, поделитесь комментариями об этом, спасибо.
...
GAE поддерживает языки сценариев, но по умолчанию служба "JavaScript" не зарегистрирована. Так что GAE "из коробки" не оценивает JavaScript.
2 ответа
В прошлый раз, когда я пытался, хотя ScriptEngine находится в белом списке, он не доступен в производственной среде. Я должен был упаковать Rhino.jar вместе с моим приложением.
За примерами общего использования сценариев в Java вы можете обратиться к самой документации Java.
Обратите внимание, что в среде GAE/J вам нужно будет напрямую вызывать API Rhino.
Например,
// Import statements.
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
private Object executeUsingRhino(String script) throws Exception
{
Context ctx = Context.enter();
try
{
Scriptable scope = ctx.initStandardObjects();
return ctx.evaluateString(scope, script, "<cmd>", 1, null);
}
finally
{
Context.exit();
}
}
// Invoke a script that returns a string output using the following code snippet
String output = Context.toString(executeUsingRhino(script));
https://developers.google.com/appengine/docs/java/jrewhitelist включает javax.script.ScriptEngine в свои белые (разрешенные) API-интерфейсы, поэтому да.