Мул: закрытие потока и асинхронный в очереди
У меня есть поток, который я только что преобразовал из синхронного в очередь-асинхронный. В какой-то момент в foreach я открываю файл и устанавливаю FileInputStream следующим образом:
public class FileAsStream {
// return a fileInputStream.
public FileInputStream fileAsStream(String fileName) {
File file = new File(fileName);
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
} catch (IOException e) {
e.printStackTrace();
} finally {
return fis;
}
}
Затем FileInputStream становится моей полезной нагрузкой, и я отправляю ее на конечные точки http или sftp. Когда поток был синхронным, я мог запустить #[payload.close()] и закрыть поток. Но теперь, когда это асинхронно, это не похоже, что я могу. Не удается, когда я пытаюсь закрыть поток. У меня вопрос, имеет ли значение, закрываю ли я поток или нет. Мул оборачивает объекты, созданные в контексте потока? Или мне нужно как-то закрыть поток после того, как он был отправлен в конечную точку?