Закрепление JAX-RS в связке - PullRequest
1 голос
/ 25 апреля 2011

Я создаю REST-сервис для Glassfish (который использует Джерси в качестве JAX-RS). Я хочу развернуть свой сервис как пакет OSGI, который работает нормально, я добавляю «Web-ContextPath:» в манифест, а затем использую аннотированный объект приложения @ javax.ws.rs.ApplicationPath. Все это делает сервис пригодным для использования, но затем я хочу использовать безопасность на основе контейнеров. Я обнаружил, что могу использовать противопоставления безопасности в файле web.xml, а затем выполнять сопоставления пользователей с ролями в файле sun-web.xml. Тем не менее, пакет OSGI также не имеет.

Есть ли в манифесте набор аннотаций и / или параметров, в которых я могу указать роли приложений, ограничения безопасности и сопоставления ролей и пользователей (я думаю, что последний может быть просто настроен глобально)?

Спасибо!

1 Ответ

0 голосов
/ 14 марта 2014

Вот как я бы это попробовал:

  1. Использовать библиотеку, которая автоматически обнаруживала бы сервисы OSGi с конкретными аннотациями и переводила их в ресурсы REST.Для Джерси вы можете попробовать это: https://github.com/hstaudacher/osgi-jax-rs-connector

  2. Использовать встроенный сервер приложений OSGi, такой как Jetty (или Tomcat), который обеспечивает реализацию службы HTTP OSGi.

  3. Настройка Jetty / Tomcat.Теперь это должно быть легко, поскольку пакеты Jetty / Tomcat могут подбирать конфигурации из области конфигурации.

Это также сэкономит много времени на использовании Karaf, который будет выполнять всю связанную с упаковкой обработку.работать для вас, включая предоставление таких функций, как встроенный Jetty с внешними конфигурациями и т. д. Но это полностью ваше дело.

...