是否有人在Netty之上构建了Servlet API实现? 我很想建立自己的,因为我不能谷歌实施。
基本上我正在寻求足够的支持让球衣运转起来(希望球衣没有做任何线索的东西)。
答案 0 :(得分:13)
Jersey不需要servlet - 即使使用JDK中包含的轻量级http服务器也可以正常运行,甚至可以运行Grizzly NIO框架(类似于Netty - 请参阅grizzly.java.net)。要了解如何使其与Netty一起运行,您可能需要查看Jersey工作区中的jersey-grizzly2模块 - 如果您愿意开发并为Jersey项目做出贡献,那就太好了。 现在,为了让你失望,泽西岛确实使用了ThreadLocals。我们一直计划引入对非阻塞异步调用的支持,但这需要相当多的重构,因此只有2.0版本(在最后一次实现JAX-RS 2.0)。无论如何,除了非阻塞的东西之外,在Netty的类似Grizzly的框架上运行它的“轻量级”仍然是有用的。
答案 1 :(得分:4)
如果您希望Jersey
与Netty
一起使用,则可能需要安全并使用org.jboss.netty.channel.socket.oio.OioServerSocketChannelFactory
不
org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory
这将允许ThreadLocal
内容在负载下正常工作。
当然,当Jersey
升级为不使用ThreadLocal
,而ChannelLocal
时,则不再需要这样做。
答案 2 :(得分:2)
如果你想让Jersey使用Netty,你可以使用https://github.com/cgbystrom/jersey-netty
提供的绑定答案 3 :(得分:1)
您是否在寻找Netty-Servlet-bridge?
该项目为Netty.IO框架(http://netty.io/)提供了Servlet API实现。
Netty Servlet Bridge允许将现有的基于Servlet API的Web应用程序集成到Netty支持的基础架构中。