я рассмотрел Нетти документы, и нашел некоторые комментарии в примерах исходного класса: org.jboss.netty.example.factorial.FactorialServerHandler, в этом ЦСИ некоторые комментарии:Разница между состоянием xxxServerHandle и неуправляемым yyyServerhandle?
//##in org.jboss.netty.example.factorial.FactorialServerPipelineFactory
......
// and then business logic.
// Please note we create a handler for every new channel
// because it has stateful properties.
pipeline.addLast("handler", new FactorialServerHandler());
Но я еще раз проверьте другие примеры, такие а TelnetServerPipelineFactory, кажется, разница ничего, ручка создают путем:
// and then business logic.
pipeline.addLast("handler", new TelnetServerHandler());
Все обработчики созданы по трубопроводу с «новым»? И все примеры в Netty - это состояние? Очевидно, что Echo/Telnet не обязательно поддерживать поддержку состояния.
В моем старом проекте я использую Нетти создать HTTP-сервер, чтобы действовать как RESTful сервер, мой код обработчика:
public class HttpServerPipelineFactory implements ChannelPipelineFactory {
private final HttpServerHandler handler;
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeline = pipeline();
pipeline.addLast("decoder", new HttpRequestDecoder());
pipeline.addLast("aggregator", new HttpChunkAggregator(1048576));
pipeline.addLast("encoder", new HttpResponseEncoder());
pipeline.addLast("handler", handler); //singleton
return pipeline;
}
}
Моего RESTful сервер statefulless (который является одним из REST
смысла), так Я использовал ручку singleton. Был ли я прав?