2013-06-23 62 views
3

我可以使用的Netty與Resteasy或爲Fileserver的Netty與RestEasy的和文件服務器

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

你會基本上有不同的處理器組合成一個新的ServerPipelineFactory。一種方法是創建一個具有通用處理程序的管道,另外還有一個「調度程序」處理程序,用於檢查請求並根據URL路徑動態地添加用於靜態文件服務或重新處理的處理程序。

+0

你能舉出一些具體的例子來描述所描述的場景嗎? – Thor