2014-12-29 5 views
2

Я внедряю сервер Jetty 9.2 в своем веб-приложении JSF. Предполагается очень легко включить Weld в Jetty 9.1+, включив модуль Weld, но я не вижу возможности сделать это со встроенным сервером. Есть ли примеры того, как это сделать, и какие классы затронуты?Как настроить встроенный Jetty с модулем сварки

Это мои слушатели в web.xml:

<listener> 
    <listener-class>org.jboss.weld.environment.servlet.BeanManagerResourceBindingListener</listener-class> 
</listener> 
<listener> 
    <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class> 
</listener> 

Это, как я начинаю мой сервер:

Server theServer = new Server(); 
    ServerConnector connector = new ServerConnector(theServer); 
    connector.setHost(getHost()); 
    connector.setPort(getPort()); 
    connector.setIdleTimeout(getTimeout()); 
    theServer.addConnector(connector); 
    WebAppContext webApp = new WebAppContext(); 
    webApp.setContextPath("/"); 
    File f = new File(getFileName()); 
    webApp.setWar(f.getAbsolutePath()); 
    webApp.setServer(theServer); 
    theServer.setHandler(webApp); 
    theServer.start(); 
    theServer.join() 
+0

Похоже, что ваш пример основан на взорванном военном файле, и в этом случае он должен работать точно так же. Возможно, в игре есть другая проблема? У вас есть трассировка стека? –

+0

Не найдено ни одного из необходимых определений конфигурации WebApp. Это полный пример сервера? –

+0

Для кого-то еще борющегося [попробуйте этот ответ] (http://stackoverflow.com/questions/21624540/how-to-embed-weld-into-jetty-9-to-have-cdi-in-my-java-maven -project/33660160 # 33660160) – Bwire

ответ

0

Я получил некоторую помощь от Джесси Макконнелл в WebTide.

мне нужно добавить следующий файл в моем пути к классам: https://github.com/eclipse/jetty.project/blob/master/jetty-cdi/src/main/config/modules/cdi.mod

Я также необходимо добавить мол-КДИТЕ банку с моим П.

+0

Не могли бы вы поделиться своим кодом? Я пытаюсь настроить cdi с причалом, и ваш подход кажется многообещающим, но я все еще получаю NPE на моем инъецированном объекте в своем сервлете ... –

+0

Я довольно далеко, но не полностью, и, поскольку я был под сжатый срок, я переключился на внедрение Tomcat, что очень легко с плагином Tomcat Maven. У Balus C есть хорошая запись в блоге, позволяющая Weld с контейнерами сервлетов, которые, хотя несколько версий старых, по-прежнему в основном действительны, и все, что мне нужно, чтобы запустить встроенный Tomcat. – Ramesh

Смежные вопросы