我一直在使用定制的NiFi处理器(扩展AbstractProcessor),它几乎应该和PutTCP一样,但是为我自己的服务器定制。它接收流文件并通过套接字将数据内容发送到服务器。使用:
import java.net.Socket;
newSocket = new Socket(serverName, port)
newSocketOut = newSocket.getOutputStream();
newSocketReader = new BufferedReader(newInputStreamReader(newSocket.getInputStream()));
问题在于,当我停止处理器时,它永远不会触发onUnScheduled()或onStopped(),这会使套接字不闭合,因为那是我应该关闭它们的地方。我确实有onScheduled()可以正常工作。当我停止处理器或为什么onUnscheduled()或onStopped()永远不会触发时,有关如何让套接字关闭的任何想法?