0

我有一个流程,我刚刚从同步转换为排队异步。在 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 是否封装了在流上下文中创建的对象?或者我是否需要在将流发送到端点后以某种方式关闭流?

4

0 回答 0