Class CompatibleObjectEncoder

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelOutboundHandlerAdapter
io.netty.handler.codec.MessageToByteEncoder<java.io.Serializable>
io.netty.handler.codec.serialization.CompatibleObjectEncoder
All Implemented Interfaces:
ChannelHandler, ChannelOutboundHandler

@Deprecated public class CompatibleObjectEncoder extends MessageToByteEncoder<java.io.Serializable>
Deprecated.
This class has been deprecated with no replacement, because serialization can be a security liability
An encoder which serializes a Java object into a ByteBuf (interoperability version).

This encoder is interoperable with the standard Java object streams such as ObjectInputStream and ObjectOutputStream.

Security: serialization can be a security liability, and should not be used without defining a list of classes that are allowed to be desirialized. Such a list can be specified with the jdk.serialFilter system property, for instance. See the serialization filtering article for more information.

  • Field Details

    • resetInterval

      private final int resetInterval
      Deprecated.
    • writtenObjects

      private int writtenObjects
      Deprecated.
  • Constructor Details

    • CompatibleObjectEncoder

      public CompatibleObjectEncoder()
      Deprecated.
      Creates a new instance with the reset interval of 16.
    • CompatibleObjectEncoder

      public CompatibleObjectEncoder(int resetInterval)
      Deprecated.
      Creates a new instance.
      Parameters:
      resetInterval - the number of objects between ObjectOutputStream.reset(). 0 will disable resetting the stream, but the remote peer will be at the risk of getting OutOfMemoryError in the long term.
  • Method Details

    • newObjectOutputStream

      protected java.io.ObjectOutputStream newObjectOutputStream(java.io.OutputStream out) throws java.lang.Exception
      Deprecated.
      Creates a new ObjectOutputStream which wraps the specified OutputStream. Override this method to use a subclass of the ObjectOutputStream.
      Throws:
      java.lang.Exception
    • encode

      protected void encode(ChannelHandlerContext ctx, java.io.Serializable msg, ByteBuf out) throws java.lang.Exception
      Deprecated.
      Description copied from class: MessageToByteEncoder
      Encode a message into a ByteBuf. This method will be called for each written message that can be handled by this encoder.
      Specified by:
      encode in class MessageToByteEncoder<java.io.Serializable>
      Parameters:
      ctx - the ChannelHandlerContext which this MessageToByteEncoder belongs to
      msg - the message to encode
      out - the ByteBuf into which the encoded message will be written
      Throws:
      java.lang.Exception - is thrown if an error occurs