THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
System.setProperty("java.naming.factory.url", "org.eclipse.jetty.jndi"); System.setProperty("java.naming.factory.initial", "org.eclipse.jetty.jndi.InitialContextFactory"); // Register and map the dispatcher servlet final Server server = new Server(<port>); final ServletHolder servletHolder = new ServletHolder(new CXFCdiServlet()); final ServletContextHandler context = new ServletContextHandler(); context.setContextPath(contextPath<context path>); context.addEventListener(new Listener()); context.addEventListener(new BeanManagerResourceBindingListener()); context.addServlet(servletHolder, "/rest/*"); server.setHandler(context); server.start(); |
...
Deploying with embedded Jetty 8/9 (WAR-based deployment)
Another option to deploy Apache CXF application with CDI 1.1 support and embedded Jetty 8/9 is by using web.xml descriptor and WAR-like deployment structure. In this case, the Apache CXF application needs to declare CXFCdiServlet servlet (and its mappings) and, if required, CDI-specific listeners (in the example below the JBoss Weld 2.0 is being used as CDI 1.1 container).
Code Block | ||||
---|---|---|---|---|
| ||||
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<listener>
<listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-name>
<servlet-class>org.apache.cxf.cdi.CXFCdiServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<resource-env-ref>
<resource-env-ref-name>BeanManager</resource-env-ref-name>
<resource-env-ref-type>javax.enterprise.inject.spi.BeanManager
</resource-env-ref-type>
</resource-env-ref>
</web-app> |
The server initialization in this case looks simpler.
Code Block | ||||
---|---|---|---|---|
| ||||
System.setProperty("java.naming.factory.url", "org.eclipse.jetty.jndi");
System.setProperty("java.naming.factory.initial", "org.eclipse.jetty.jndi.InitialContextFactory");
final Server server = new Server(<port>);
final WebAppContext context = new WebAppContext();
context.setContextPath(<context path>);
context.setWar(<path to WAR folder/file>);
context.setServerClasses(new String[] {
"org.eclipse.jetty.servlet.ServletContextHandler.Decorator"
});
HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[] {context, new DefaultHandler()});
server.setHandler(handlers);
server.start(); |
TODO : in progress
Deploying with embedded Tomcat 7/8 (WAR-based deployment)
...