使用RestEasy和FileServer的Ne​​tty

时间:2013-06-23 11:02:51

标签: java netty resteasy

我可以将Netty与ResteasyFileserver

一起使用
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>

1 个答案:

答案 0 :(得分:1)

您基本上必须将不同的处理程序组合成一个新的ServerPipelineFactory。一种方法是创建一个已经存在公共处理程序的管道,另外还有一个“调度程序”处理程序,用于检查请求,并根据URL路径动态添加处理程序以进行静态文件服务或进行重新处理。