Java: встраивание обработчиков сценариев в приложение. Является ли JSR 223 (ScriptEngine) хорошим решением? - PullRequest
4 голосов
/ 19 марта 2011

Я хочу использовать один или несколько языков сценариев в своем приложении Java.

С Веб-сайт JRuby Я обнаружил, что есть 3 способа:

  1. Использование Java 6 (использование JSR 223: создание сценариев)
  2. Внедрение с Bean Scripting Framework (BSF)
  3. Прямой вызов API $ YOUR_SCRIPTING_ENGINE $

Поскольку мне нужно поддерживать более 1 обработчика сценариев, я не думаю, что вариант 3 будет достаточно хорош.

При поиске решения 1. JSR 223: Сценарии, я начинаю искать zip-архив, содержащий всю интеграцию механизма сценариев

Download and unzip the collection of jars from the documents and files section of the site (jsr223-engines.tar.gz or jsr223-engines.zip).

Но этот файл нигде нет в сети (раздел dowload home проекта пуст. Если я хочу, я могу скачать исходные коды и построить необходимую интеграцию с двигателями. Исходный код устарел (2+ года) за то, что я видел)

JSR 223 все еще жив и является хорошим решением для выбора? Если нет, является ли Bean Scripting Framework хорошей альтернативой? Последний имеет очень плохую страницу документации и поддерживается только несколько языков сценариев (но он поддерживает большую часть языка, который я хочу иметь) ...

1 Ответ

2 голосов
/ 19 марта 2011

Я встроил изолированную программную среду Rhino в пару приложений и обнаружил, что гораздо проще работать непосредственно с кодом Rhino.

Если вы не хотите встраивать несколько разных языков или развертывать на виртуальных машинах, которые уже имеютJSR 223 находится на месте, тогда я не думаю, что вы получите много пользы от дополнительного уровня абстракции.

Я бы настоятельно рекомендовал, чтобы вы учитывали легкость песочницы при выборе языка для встраивания.

...