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