Попытка чтения и десериализации объекта, сохраненного как значение Redis.
127.0.0.1: 6379> получить A11017B69A179631D4DCB719B6CBCB8C "\ xac \ xed \ x00 \ x05sr \ x00Dcom.orangefunction.tomcat.redissessions.SessionSerializationMetadata ...
100 * * 100 * * В результате
данные содержат следующие байты:
-17, -65, -67, -17, -65, -67, 0, 5, 115, 114
Это приводит к исключению, когда я пытаюсь установить его в ObjectInputStream :
BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(data));
ObjectInputStream ois = new ObjectInputStream(bis)
java .io.StreamCorruptedException: недействительно заголовок потока: EFBFBDEF в java .io.ObjectInputStream.readStreamHeader (ObjectInputStream. java: 866) в java .io.ObjectInputStream. (ObjectInputStream. java: 358)
Исключение выдается, потому что ObjectInputStream ожидает следующий заголовок, который фактически существует в значении Redis:
final static short STREAM_MAGIC = (short)0xaced;