我可以将Netty与Resteasy或Fileserver:
一起使用public void file()
{
ServerBootstrap bootstrap = new ServerBootstrap(
new NioServerSocketChannelFactory(
Executors.newCachedThreadPool(),Executors.newCachedThreadPool()));
bootstrap.setPipelineFactory(new HttpStaticFileServerPipelineFactory());
bootstrap.bind(new InetSocketAddress(8080));
}
public void rest()
{
ResteasyDeployment deployment = new ResteasyDeployment();
deployment.getActualResourceClasses().add(RestClass.class);
NettyJaxrsServer netty = new NettyJaxrsServer();
netty.setDeployment(deployment);
netty.setPort(8080);
netty.setRootResourcePath("");
netty.setSecurityDomain(null);
netty.start();
}
两个端口都可以使用不同的端口,但是如何在一个端口上集成运行一个Netty服务器的两种方法?
更新 目前我使用此设置:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-netty</artifactId>
<version>3.0.1.Final</version>
</dependency>
答案 0 :(得分:1)
您基本上必须将不同的处理程序组合成一个新的ServerPipelineFactory
。一种方法是创建一个已经存在公共处理程序的管道,另外还有一个“调度程序”处理程序,用于检查请求,并根据URL路径动态添加处理程序以进行静态文件服务或进行重新处理。