Поддерживает ли 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-интерфейсы, поэтому да.

Другие вопросы по тегам