我有一个带有嵌入式 Jetty 和 Wicket 的独立应用程序。
我想使用 CDI 进行注射。
所以我找到了http://docs.jboss.org/weld/reference/latest/en-US/html/environments.html#d0e5286
现在我正在尝试以编程方式添加它,但它非常复杂。
我该如何编码?
我发现的其他来源是:
- http://osdir.com/ml/java.jetty.support/2007-02/msg00198.html
- http://docs.codehaus.org/display/JETTY/JNDI
到目前为止,我有:
Server server = new Server( 8080 );
Context ctx = new Context( server, "/", Context.NO_SECURITY | Context.SESSIONS );
try {
//BeanManager
new org.mortbay.jetty.plus.naming.Resource( ctx, "BeanManager",
new javax.naming.Reference(
"javax.enterprise.inject.spi.BeanManager",
"org.jboss.weld.resources.ManagerObjectFactory", null )
);
} catch ( NamingException ex ) {
log.error(...);
}
// Wicket.
final ServletHolder wicketSH = new ServletHolder( new MyReloadingWicketServlet() );
wicketSH.setInitParameter( "applicationClassName", WicketApplication.class.getName() );
ctx.addServlet( wicketSH, "/*" );