You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2011/03/18 00:02:29 UTC

[jira] Resolved: (DIRMINA-627) ByteBuffer.getObject() doesn't support Class objects for non-serializable classes

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

Emmanuel Lecharny resolved DIRMINA-627.
---------------------------------------

    Resolution: Fixed

Patch applied in http://svn.apache.org/viewvc?rev=1082736&view=rev


> 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: 2.0.3, 3.0.0-M1
>
>         Attachments: AbstractIoBuffer.java, IoBufferTest.java, 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira