В настоящее время я копаюсь в Apache MINA. Это отличный фреймворк с множеством возможностей. Самой сложной частью до сих пор была часть декодера. Проверяя документы API, я понимаю, что есть следующие классы, которые можно расширять и реализовывать самостоятельно:
- DemuxingProtocolDecoder — составной ProtocolDecoder, который демультиплексирует входящие запросы декодирования IoBuffer в соответствующий MessageDecoder.
- ObjectSerializationDecoder — ProtocolDecoder, который десериализует сериализуемые объекты Java с помощью IoBuffer.getObject(ClassLoader).
- PrefixedStringDecoder — ProtocolDecoder, который декодирует строку с использованием префикса фиксированной длины.
Все вышеперечисленное расширяет класс CumulativeProtocolDecoder — ProtocolDecoder, который накапливает содержимое полученных буферов в кумулятивный буфер, чтобы помочь пользователям реализовать декодеры.
- Не могли бы вы указать несколько реальных примеров, какой подкласс CumulativeProtocolDecoder вы бы использовали или использовали и почему?
- Есть ли пример, в котором не требуется, чтобы декодер расширял класс CumulativeProtocolDecoder и просто реализовывал ProtocolDecoder напрямую, не беспокоясь о фрагментации?