[ https://issues.apache.org/jira/browse/DIRMINA-627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
wangzhenghang updated DIRMINA-627: ---------------------------------- Comment: was deleted (was: This bug can be easly to fixed. Serializable object can be divide into three types: a)Class instances representing classes that are not serializable b)Primitive objects c)Other serializable objects. The first tow types's ClassDescriptor should be written, the third one just write its class name. The attachments are AbstractIoBuffer.java fixed by me and a testCase. The attachments are about mina-2.0.0-M5, it's the same way to fixed this bug in mina-1.1.7. ) > ByteBuffer.getObject() doesn't support Class objects for non-serializable > classes > --------------------------------------------------------------------------------- > > Key: DIRMINA-627 > URL: https://issues.apache.org/jira/browse/DIRMINA-627 > Project: MINA > Issue Type: Bug > Components: Core > Affects Versions: 1.1.7 > Reporter: Owen Jacobson > Fix For: 3.0.0-M1 > > Attachments: fix.patch, tests.patch > > > Instances of java.lang.Class are serializable, whether or not the class they > represent is serializable. However, org.apache.mina.common.ByteBuffer's > optimizations prevent it from unserializing Class instances representing > classes that are not serializable. For example, given > public interface NotSerializable {} > /*...*/ > ObjectOutputStream o = /*...*/; > o.writeObject (NotSerializable.class); > /*...*/ > ObjectInputStream i = /*..bytes written by o, above..*/; > Object read = i.readObject(); > The 'read' object will be NotSerializable.class. > Trying the same thing with buffer.putObject (NotSerializable.class); > buffer.flip(); buffer.getObject() throws a NullPointerException. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.