[ 
https://issues.apache.org/jira/browse/DIRMINA-627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

wangzhenghang updated DIRMINA-627:
----------------------------------

    Attachment: IoBufferTest.java
                AbstractIoBuffer.java

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. 


> 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: AbstractIoBuffer.java, fix.patch, IoBufferTest.java, 
> 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.

Reply via email to