[
https://issues.apache.org/jira/browse/DIRMINA-627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Owen Jacobson updated DIRMINA-627:
----------------------------------
Attachment: tests.patch
I've attached a patch to ByteBufferTest that both validates my assertion about
OOS/OIS and exercises ByteBuffer, with a class's Class and an interface's Class.
I ran into this doing some remoting (using Camel) over Mina: Camel's
MethodInvocation message includes the class object for the method, which in
turn includes the class object for the interface it's defined on.
> 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
> Attachments: 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.