Да, если обработчик @Sharable
, это может быть одиночный код. Тем не менее, некоторым обработчикам может потребоваться некоторое состояние, которое соответствует Channel
и поэтому не может быть разделено. Также обратите внимание, что обработчики @Sharable
должны быть поточно-ориентированными, поскольку разные Channel
s могут использовать разные EventLoop
s.
Из-за упомянутых выше «ограничений» не все обработчики могут быть доступными. например, все перечисленные вами обработчики (HttpRequestDecoder
, HttpResponseEncoder
и HttpObjectAggregator
) или недоступные для совместного использования, поэтому необходимо создать новый экземпляр для Channel
.