在我们使用WSO2 ESB(EI 6.1.0)的项目中,我们有一些场景需要并行执行2个任务。
例如,我们在审计表中插入执行步骤,然后继续执行下一步。
为此,我们使用一个带有continueParent = true的克隆介体,并且在克隆中我们有一个序列,用于在db中插入audita数据。当我们设置continueParent = true时,下一步不会等待审计插入执行。
这很好用,但在高负载测试中,我们发现堆的增长非常大。
检查堆我看到克隆介体的很多实例,并且当克隆上下文时,它会增长很多并导致OutOfMemory。
我的问题是:
有没有办法让类似的行为但不使用克隆中介?
谢谢,
答案 0 :(得分:1)
如果需要执行异步操作,例如在审计表中插入数据,则应考虑在主要中介中使用JMS队列:仅在这些队列中发送这些数据并定义专用代理服务或jms入站端点,使用这些消息并在表中插入数据