使用 Netty 实现 Servlet API

2022-09-03 01:16:07

有没有人在Netty之上构建了Servlet API实现?我很想建立自己的,因为我无法谷歌实现。

基本上,我希望支持足够的支持来让球衣工作(希望球衣没有做任何线程局部的事情)。


答案 1

泽西岛不需要servlet - 即使使用JDK中包含的轻量级http服务器也可以正常运行,甚至可以使用Grizzly NIO框架运行(类似于Netty - 参见 grizzly.java.net)。要了解使用Netty运行它需要什么,您可能需要查看泽西工作区中的球衣灰熊2模块 - 如果您愿意开发它并为泽西岛项目做出贡献,那就太好了。现在,令您失望的是,泽西岛确实使用了ThreadLocals。我们一直计划引入对非阻塞异步调用的支持,但这需要大量的重构,因此只会附带2.0版本(一旦最终实现JAX-RS 2.0)。无论如何,除了非阻塞的东西之外,在类似Grizzly的框架(如Netty)上运行它仍然很有用,因为它的“轻量级”。


答案 2

如果你想使用,你可能需要安全使用JerseyNettyorg.jboss.netty.channel.socket.oio.OioServerSocketChannelFactory

org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory

这将允许这些东西在负载下正常工作。ThreadLocal

当然,当升级到不使用 时,将不再需要。JerseyThreadLocalChannelLocal


推荐