AEM: Как зарегистрировать сервлет без привязки?

#jetty #osgi #aem #sling

#причал #osgi #аэм #слинг #jetty #aem #sling

Вопрос:

Я должен зарегистрировать «org.eclipse.jetty.servlets.ProxyServlet» в AEM.

Это помогает создать лучшую среду разработки, где мой проект использует внешний REST API для транзакционной части проекта.

Но с использованием аннотации sling (@SlingServlet) Я не мог этого сделать.

Комментарии:

1. Я не уверен, что это легко выполнимо. Но могу я спросить, почему вы хотите это сделать? У меня такое чувство, что вы пытаетесь решить проблему с помощью этого сервлета, потому что вы знаете, как это работает, но вы не нашли AEM-решения проблемы.

2. Вы пробовали использовать доску http OSGI ?

3. @Abhishek Да, я пробовал «OSGI http whiteboard», но, похоже, в AEM это не сработало.

4. @Jens В моей настройке интерфейс подключается к внешней службе RESTfull. Чтобы это работало, мне нужен mod_proxy на веб-сервере. Для целей разработки этой цели будет служить прокси-сервлет.

5. @Dileepa пожалуйста, добавьте некоторый код, который вы пробовали, и вы получили ошибку.

Ответ №1:

Я бы рекомендовал написать сервлет sling (тот, который расширяется от SlingAllMethodsServlet или SlingSafeMethodsServlet в зависимости от требований) и делегировать управление вашему прокси-сервлету. Поскольку SlingHttpServletRequest и SlingHttpServletResponse — это в основном HttpServletRequest и HttpServletResponse .

Это означало бы, что вам не нужно ничего настраивать в AEM, чтобы заставить ваш сервлет работать, в то же время предоставляя вам контекст привязки в вашей оболочке на случай, если вам может понадобиться в будущем.