我有一个流程,我刚从同步转换为排队异步。 在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()]并关闭流。但现在它是异步的,它看起来不像我。当我尝试关闭流时失败。我的问题是,如果我关闭流是否重要。 Mule是否包装在流的上下文中创建的对象?或者,在将流发送到端点后,是否需要以某种方式关闭流?