5.6. Jexl¶
Сервер приложений предоставляет возможность выполнения Jexl-скриптов, способных вызывать методы Scala-объектов из кода PostgreSql решения.
5.6.1. Контексты выполнения¶
Jexl-скрипт выполняется сервером приложений с правами пользователя, от имени которого создана сессия.
Jexl-скрипт может выполнятся в разных контекстах, от чего зависит перечень доступных методов и классов.
Возможные контексты выполнения:
контекст прикладной
GTK-сессии;контекст
выборкитекущего рабочего сеанса.
5.6.2. Способы выполнения¶
Jexl-скрипт можно запустить следующими способами:
через SOAP-сервис — в новой пользовательской сессии;
через SSH-консоль — в пользовательской, системной или БД-сессии;
через WebSocket-консоль — в пользовательской сессии;
через REST-сервис разработки — в контексте главной выборки существующей или созданной E-сессии;
из gs-automation — в контексте выборки пользовательского интерфейса.
5.6.3. GTK-шлюзы выполнения¶
Changed in version 1.28.0-rc2,1.29.0-ms1: Изменены имена используемых gtk-шлюзов выполнения Jexl
Все перечисленные способы передают скрипт в прикладной GTK-код через GTK-шлюзы:
ru.bitec.app.gtk.jexl.session.Gtk_JexlGatePkg.executeJexl(script, source)— для выполнения в контексте GTK-сессии.ru.bitec.app.gtk.jexl.gl.Gtk_JexlGateLib.executeJexl(script, source)— для выполнения контексте выборки.
Параметр source указывает источник запуска скрипта и позволяет прикладному коду учитывать его при обработке.
Допустимые значения:
WebSocket— WebSocket-консоль;SOAP— SOAP-сервис;SSH— SSH-консоль;REST— REST-сервис;RichClient— клиентское приложение.
5.6.3.1. Обратная совместимость¶
Если версия GTK-модуля решения не содержит классов шлюзов Gtk_JexlGatePkg и Gtk_JexlGateLib, сервер
использует для выполнения скриптов устаревшие классы:
ru.bitec.app.gtk.jexl.session.Gtk_JexlPkg.jexlScript.eval(script)— для выполнения в контексте GTK-сессии.ru.bitec.app.gtk.jexl.gl.Gtk_JexlLib.jexlScript.devEval(script)— для выполнения контексте выборки.
See also
SOAP, REST, SSH, WebSocket консоль, Требования к серверу приложений