com.fasterxml.jackson.databind.ObjectMapper
デフォルトの入力の場合、出力ストリーム(出力ストリーム)を書いた後にオフになります。
あなたが同じ出力ストリームは、あなたが完成し、出力ストリームの出力をしたくない場合は多値変数の順序が閉じているしたい場合は、設定できる JsonGenerator.Feature.AUTO_CLOSE_TARGET
パラメータをFalse
。
この試験方法も https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java で見つけます。
/ ** *シリアライズない閉じる出力ストリーム * / @Test ます。public void testMessagePackSerializationNotCloseOutputStream(){ logger.debug( "testMessagePackSerializationNotCloseOutputStream"); {試みる ファイルの一時ファイル= File.createTempFile( "messagepack-"、 "-cwiki.usを"); うちのOutputStream =新しいのFileOutputStream(一時ファイル)。 ObjectMapper objectMapper =新しいObjectMapper(新MessagePackFactory()); objectMapper.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET、偽); objectMapper.writeValue(OUT、1)。 objectMapper.writeValue(うち、 "2")。 objectMapper.writeValue(アウト、3.14); out.close(); MessageUnpackerアンパック= MessagePack.newDefaultUnpacker(新しいFileInputStreamを(一時ファイル)); System.out.println(unpacker.unpackInt())。// => 1 のSystem.out.println(unpacker.unpackString())。// => 2 のSystem.out.println(unpacker.unpackFloat())。// => 3.14 tempFile.deleteOnExit()。 }キャッチ(のIOExceptionのEX){ logger.error( "エラーをシリアル"、EX)。 } }
https://www.cwiki.us/display/Serialization/MessagePack+Jackson+Dataformat