Вопрос

Когда-нибудь необходимо расширить рамки.Иногда необходимо подключиться к жизненному циклу запроса / ответа, например, для привязки параметра или для написания модуля безопасности.Как это можно было бы сделать в playframework 1.x?

Это было полезно?

Решение

Есть два способа продлить play 1.x.Сначала вы можете написать свой собственный модуль.Это подробно описано здесь.Это полезно, если вы хотите предоставить библиотеку, такую как iText, или предоставить специальный механизм аутентификации.

Второй способ заключается в написании PlayPlugin.Это часто делается в модулях, но это не является обязательным условием.Чтобы написать PlayPlugin требуется выполнить два шага:

  1. Напишите класс, который расширяет класс PlayPlugin и переопределить некоторые из его методы, например , называемый myPackage.MyPlugin.
  2. Зарегистрируйте свой плагин.Это делается путем создания файла с именем play.plugins и помещаем это в classpath.Файл должен содержать строку типа 1003:myPackage.MyPlugin.

Число определяет порядок, в котором вызываются плагины.Я рекомендую использовать идентификаторы > 1000.Если вы хотите, чтобы он загружался перед плагином фреймворка, посмотрите здесь (Идентификаторы действительны начиная с 1.1.1).

Вот и все.Чтобы получить представление о том, что вы можете сделать с помощью плагина, смотрите Javadoc.Вы можете подключиться к:

  • Цикл запроса/ответа
  • Процесс привязки
  • запуск / остановка приложения
  • загрузка классов

К сожалению, документация javadoc минимальна, но не стесняйтесь заглядывать в код самой playframework.Это легко понять, и это дает вам хорошие идеи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top