コード例 #1
0
  @Test
  public void isClosedAfterDeserializationWhenItWasClosedBefore() throws Exception {
    sessionManager.close();
    SessionManagerImpl managerRead = serializeAndDeserializeSessionManager();

    assertThat(managerRead.isClosed()).isTrue();
  }
コード例 #2
0
  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;
  }