这真的取决于你使用Netty的原因.假设您将其用作在单独端口上运行的嵌入式HTTP服务器,您可以简单地在Spring bean中初始化它.我过去使用名为
Nettosphere的有用的Netty / Atmosphere包装器实现了这一点:
@Service
public class NettyServer implements ServletContextAware {
private ServletContext servletContext;
private Nettosphere server;
@Autowired
private MyStatusHandler statusHandler;
@PostConstruct
public void initialiseNettyServer() {
String rootPath = servletContext.getContextPath() + "/api";
server = new Nettosphere.Builder().config(
new Config.Builder()
.host(SERVER_HOST)
.port(SERVER_PORT)
.resource(rootPath + "/status", statusHandler)
.build())
.build();
server.start();
}
@PreDestroy
public void shutdownNettyServer() {
server.stop();
}
}
当然,您可能更喜欢直接使用Netty,在这种情况下适用相同的原则,但您需要深入了解Netty user guide以正确引导服务器.