@Test public void isClosedAfterDeserializationWhenItWasClosedBefore() throws Exception { sessionManager.close(); SessionManagerImpl managerRead = serializeAndDeserializeSessionManager(); assertThat(managerRead.isClosed()).isTrue(); }
private SessionManagerImpl serializeAndDeserializeSessionManager() throws IOException, ClassNotFoundException { // Converter gets created lazily on first access if (!sessionManager.isClosed()) { sessionManager.getConverterCache().getConverter(BooleanConverter.class); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(baos); out.writeObject(sessionManager); out.close(); ByteArrayInputStream bain = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream in = new ObjectInputStream(bain); SessionManagerImpl managerRead = (SessionManagerImpl) in.readObject(); in.close(); return managerRead; }