Не является ответом специально для JSF ( это может быть), но для веб-приложений OSGi в целом обратите внимание на Pax-Web , если вы используете maven .
Самый простой способ начать работу с Pax-Web - это, вероятно, использовать Karaf , а затем выполнить команду features:install war
После развертывания WAR (или WAB - Web App Bundle) вы сможете использовать атрибут osgi-bundlecontext при инициализации сервлета, например:
extends HttpServlet {
BundleContext bundleContext;
@Override
public void init() throws ServletException
{
bundleContext = (BundleContext) getServletContext().getAttribute("osgi-bundlecontext");
}
Использование этогоВы можете искать службы в реестре OSGi.
Вам нужно будет обратить внимание на записи пакета MANIFEST.MF, в частности две:
Bundle-ClassPath: ./,WEB-INF/classes
Webapp-Context: context-root-name-here
Или в WebApp, совместимом с OSGi.Контейнер, который необходимо добавить:
Web-ContextPath: context-root-name-here
Более подробную информацию можно найти в спецификациях , см. PDF-файлы для предприятий или сборника для v4.2
EDIT : для развертывания в JBoss вы, скорее всего, захотите использовать поддержку WAB, см. Раздел 128 спецификации Enterprise 4.2.Также это может помочь: http://community.jboss.org/message/619443 Интересно, что JBoss AS7 использует pax-web, поэтому документация по этому вопросу также должна в значительной степени применяться.