gpt4 book ai didi

java - 带有 RestEasy 和 FileServer 的 Netty

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:41 32 4
gpt4 key购买 nike

我可以将 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>

最佳答案

您基本上必须将不同的处理程序组合到一个新的 ServerPipelineFactory 中。一种方法是创建一个管道,该管 Prop 有已经存在的通用处理程序,加上一个检查请求的“调度程序”处理程序,并根据 URL 路径动态添加用于静态文件服务或 resteasy 处理的处理程序。

关于java - 带有 RestEasy 和 FileServer 的 Netty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17260102/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com