有人在Netty之上构建了Servlet API实现吗? 我想自己构建一个,因为我在谷歌上找不到实现。
基本上,我只希望支持足够的功能使jersey能够工作(希望jersey没有使用任何threadlocal东西)。
有人在Netty之上构建了Servlet API实现吗? 我想自己构建一个,因为我在谷歌上找不到实现。
基本上,我只希望支持足够的功能使jersey能够工作(希望jersey没有使用任何threadlocal东西)。
Jersey不需要servlet - 即使使用JDK中包含的轻量级http服务器也可以正常运行,甚至可以使用类似于Netty的Grizzly NIO框架运行(请参见grizzly.java.net)。要了解如何使其与Netty一起运行,您可能需要查看Jersey工作区中的jersey-grizzly2模块 - 如果您愿意开发并为Jersey项目做出贡献,那将非常好。
现在,让您失望的是,Jersey使用ThreadLocals。我们一直计划引入对非阻塞异步调用的支持,但这需要进行相当数量的重构,因此只会在2.0版本中实现(一旦JAX-RS 2.0定稿)。无论如何,除了非阻塞内容之外,将其在类似于Netty的Grizzly框架上运行仍然很有用,因为它很“轻巧”。
Jersey
和Netty
一起,您可能需要保险起见使用org.jboss.netty.channel.socket.oio.OioServerSocketChannelFactory
而不是:org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory
ThreadLocal
的东西能够正确地工作。Jersey
升级到不再使用ThreadLocal
,而是使用ChannelLocal
时,这将不再需要。你是否在寻找Netty-Servlet-bridge?
该项目为Netty.IO框架(http://netty.io/)提供了Servlet API实现。
Netty Servlet Bridge允许将现有的基于Servlet API的Web应用程序集成到基于Netty的基础设施中。