Безопасно ли сериализовать, десериализовывать объекты различных типов только через один конкретный экземпляр ObjectDecoder, ObjectDecoder?
Да.ObjectDecoder обычно не имеет состояния (кроме загрузчика классов, который, скорее всего, не изменится) - он создает все, что ему нужно, когда вы вызываете decode ().Загрузчик классов также необязателен - вы можете передать значение null, и он будет использовать любой загрузчик классов (в моем случае это загрузчик по умолчанию) в контексте при переходе к декодированию.
Почему конструктор ObjectDecoder по умолчанию устарел?
Я не уверен в этом.Я использую Netty 3.2.4, и он не устарел.Информация о версии: * @version $ Rev: 2279 $, $ Дата: 2010-05-13 23:13:07 +0900 (чт, 13 мая 2010 г.) $
Если вы используете более новую версиюверсия, посмотрите в javadoc, он должен сказать вам.
Подходящая версия конструктора получила ClassReslover в качестве аргумента.Означает ли конструктор ClassResolver, что эти конкретные объекты (ObjectDecoder, ObjectEncoder) могут де / сериализовать только один тип объектов, а чтобы де сериализовать другие объекты, которые необходимо переключить (ObjectDecoder, ObjectDecoder) в ChannelPipeline?
Совсем нет.Аргумент ClassLoader - это если у вас есть какой-то пользовательский загрузчик классов, который необходим, потому что по умолчанию он неадекватен.Вы можете сериализовать / десериализовать все что угодно с одним ObjectDecoder, если вы используете соответствующий ObjectEncoder на другой стороне.