@Override public void destroyObject(final TypeNameKeyWithIndices key, final PooledObject<Writer> p) throws Exception { super.destroyObject(key, p); p.getObject().close(); }
@Override public void destroyObject(HostAndPort hostAndPort, PooledObject<SocketWriter> socketWriterRef) throws Exception { super.destroyObject(hostAndPort, socketWriterRef); SocketWriter socketWriter = socketWriterRef.getObject(); socketWriter.close(); socketWriter.getSocket().close(); }
@Override public void destroyObject(HostAndPort hostAndPort, PooledObject<SocketWriter> socketWriterRef) throws Exception { super.destroyObject(hostAndPort, socketWriterRef); SocketWriter socketWriter = socketWriterRef.getObject(); socketWriter.close(); socketWriter.getDatagramSocket().close(); } }
@Override public void destroyObject(SocketConnectionInfos socketConnectionInfos, PooledObject<SocketOutputStream> socketOutputStream) throws Exception { super.destroyObject(socketConnectionInfos, socketOutputStream); SocketOutputStream outputStream = socketOutputStream.getObject(); JOrphanUtils.closeQuietly(outputStream); JOrphanUtils.closeQuietly(outputStream.getSocket()); }