我面临一个需要向多播端点发送大文件的情况。我的路线如下。我正在尝试将 100 MB 或更多的单个文件从 abcd 端点发送到 xyz,从 xyz 发送到 efg 和测试队列。我可以将整个 100MB 从 abcd 发送到 xyz,但不能从 xyz 发送到 efg 和测试队列。它仅发送少量文件,多播路由中缺少其他文件。在 fuseesb 日志中也出现 3 种类型的错误:
1. org.apache.camel.component.file.GenericFileOperationFailedException: Cannot store file: D:\xyz\samplebigfiles.txt at org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:264)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
2. Caused by: java.io.FileNotFoundException: D:\abcd\samplebigfiles.txt (The process cannot access the file because it is being used by another process)
at java.io.FileInputStream.open(Native Method)[:1.6.0_22]
3. java heap space error
<route>
<from uri="file:///D:/abcd" />
<to uri="file:///D:/xyz" />
</route>
<route>
<from uri="file:///D:/xyz" />
<multicast>
<to uri="file://D:/efg" />
<to uri="jms:queue:test" />
</multicast>
</route>
请建议我一些解决方案来解决它。