我正在开发 apachestorm,我计划连接结束 Bolt,通过单个 tibco-ems 连接使用 Apache-camel 将消息传递到 tibco-ems 主题,但 Bolt 的每个实例都应该与该主题有一个单独的 session ,以避免过载,因为要传输的消息量很大。如何创建单独的 session ?我已经在bolt类的prepare方法中实例化了camel-context,并且路由和tibco ems连接正在配置文件中实例化。
camel-context是根据以下链接中的解决方案实例化的: Using Apache Camel ProducerTemplate in Apache Storm bolt
最佳答案
当你说“tibco ems 连接正在配置文件中实例化”时,我有点困惑。
请记住,prepare
将为 bolt 的每个实例执行一次,因此您可以在此处初始化与 tibco ems 的连接。就像 ProducerTemplate
一样,您可以使连接 transient
,因为您将在 execute
中一遍又一遍地重复使用。
看看我的其他答案:Execution flow of a storm program
最后,您可以在设置拓扑时控制所需的 Bolt 实例数量。
关于java - 通过 apache-camel 连接到 Storm Bolt 时创建主题 tibco ems 的多个 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45844175/