首页 文章

Camel Aggregator EIP提高了速度

提问于
浏览
3

我正在使用Apache Camel和aggretaor EIP开发一条路线 . 该路由通过jms从数据库中消耗数据,聚合它并将它们发送到Web服务 .

聚合器将数据保存在oracle数据库中 .

众所周知,聚合器的同步块是该路径中的boddle neck .

我已经尝试使用多个桶(correltionExpression = threadName),但它并没有像想要的那样提高速度......

我每秒至少需要150条消息 . 目前只有70个是可能的:(

有谁知道如何提高速度?也许是第二个聚合器?有什么建议吗?

最后一个问题:聚合器能够并行地在多个桶中写入消息,还是因为锁定而不是这种情况?因为代码中的文档说它是(每个相关键的并发聚合可以提高性能),所以代码本身并不是我认为的 .

提前致谢!!

斯特凡

2 回答

  • 0

    您可以实现自己的AggregationRepository,在那里可以对数据库进行批量保存 .

    基于JDBC的开箱即用一次进行一次更新/插入 .

  • 0

    您可以使用HawtDB文件存储库实现聚合器 . 虽然我已经在我的应用程序中遇到了HawtDB或Level DB存储库的性能问题,但我确信它会比JDBC持久性更快 .

    据我所知,如果你准备牺牲数据持久性,没有什么比内存聚合更好的了 .

相关问题