mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Trustin Lee (JIRA)" <j...@apache.org>
Subject [jira] Created: (DIRMINA-321) BufferUnderflowException in ObjectSerializationInputStream
Date Wed, 13 Dec 2006 06:30:20 GMT
BufferUnderflowException in ObjectSerializationInputStream
----------------------------------------------------------

                 Key: DIRMINA-321
                 URL: http://issues.apache.org/jira/browse/DIRMINA-321
             Project: MINA
          Issue Type: Bug
          Components: Filter
    Affects Versions: 1.0.1
            Reporter: Trustin Lee
         Assigned To: Trustin Lee


Andrew Vokhmin's report:

MINA 1.0 provides an own object serialization streams. But I have a problem
with it...
or may be It's my unawareness.

Try MINA 1.0.0 and MINA 1.0.1;
JDK 1.5.0_09
Windows 2003 Server

Source:


import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import junit.framework.TestCase;

import
org.apache.mina.filter.codec.serialization.ObjectSerializationInputStream;
import
org.apache.mina.filter.codec.serialization.ObjectSerializationOutputStream;

public class ObjectSerializationStreamsTest extends TestCase {

       public ObjectSerializationStreamsTest(String arg0) {
               super(arg0);
       }

       public static void main(String[] args) {

junit.textui.TestRunner.run(ObjectSerializationStreamsTest.class);
       }

       protected void setUp() throws Exception {
               super.setUp();
       }

       protected void tearDown() throws Exception {
               super.tearDown();
       }

       /*
        * Standart Object streams works - OK...
        */
       public void testObjectStandartStreams() throws Exception {
               ObjectInputStream osis;
               ObjectOutputStream osos;
               //Integer msgA = new Integer(12345);
               String msgA = "Test";
               ByteArrayOutputStream baos = new ByteArrayOutputStream();
               osos = new ObjectOutputStream(baos);
               osos.writeObject(msgA);
               osos.flush();
               byte xbA[] = baos.toByteArray();
               osis = new ObjectInputStream(new ByteArrayInputStream(xbA));
               osos.writeObject(msgA);
               Object msg = osis.readObject();
               assertEquals(msgA, msg);
               osos.close();
               osis.close();
       }

       /*
        * MINA Object streams works - FAILED!..
        */
       public void testObjectSerializationStreams() throws Exception {
               ObjectSerializationInputStream osis;
               ObjectSerializationOutputStream osos;
               //Integer msgA = new Integer(12345);
               String msgA = new String("Test");
               ByteArrayOutputStream baos = new ByteArrayOutputStream();
               osos = new ObjectSerializationOutputStream(baos);
               osos.writeObject(msgA);
               osos.flush();
               byte xbA[] = baos.toByteArray();
               osis = new ObjectSerializationInputStream(new
ByteArrayInputStream(xbA));
               osos.writeObject(msgA);
               Object msg = osis.readObject();
               assertEquals(msgA, msg);
               osos.close();
               osis.close();
       }

}


Output:


..E
Time: 0,109
There was 1 error:
1)
testObjectSerializationStreams(ru.territory.telex.mina.test.ObjectSerializat
ionStreamsTest)java.nio.BufferUnderflowException
       at org.apache.mina.common.ByteBuffer.getObject(ByteBuffer.java:1613)
       at
org.apache.mina.filter.codec.serialization.ObjectSerializationInputStream.re
adObject(ObjectSerializationInputStream.java:125)
       at
ru.territory.telex.mina.test.ObjectSerializationStreamsTest.testObjectSerial
izationStreams(ObjectSerializationStreamsTest.java:61)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
       at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
       at
ru.territory.telex.mina.test.ObjectSerializationStreamsTest.main(ObjectSeria
lizationStreamsTest.java:20)

FAILURES!!!
Tests run: 2,  Failures: 0,  Errors: 1

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message