Apache Camel http组件计时器dockerization
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Camel http组件计时器dockerization相关的知识,希望对你有一定的参考价值。
我想要实现的是将一个弹簧启动应用程序停靠,该应用程序使用驼峰定期检查外部休息终点并将接收的数据插入数据库。我目前使用计时器来触发路由。
但是我需要将它停靠,这会产生诸如从所有容器触发路径之类的问题。
我知道可以使用cron表达式的调度程序。但是它将再次从所有容器触发。
寻找专家的一些设计见解。
提前致谢!
答案
如果您将任何数据库用作应用程序的一部分,则任务将很简单。创建一个表并在status
列中输入和输入running
和completed
。通过scheduler
之前在DB中检查status
的外部api检查。如果它是running
中止呼叫或状态是completed
运行作业并调用外部服务。你也可以使用一些in-memory
缓存,如memcache
或redis
作为数据库的替代品。
最佳方法是通过control-M
中的Cloudwatch
或AWS
等外部触发器触发所有容器的负载均衡器,以便将请求定向到一个容器,因此不会对外部api进行额外调用。或者您必须使用容器间通信,这将增加您的应用程序的复杂性。
以上是关于Apache Camel http组件计时器dockerization的主要内容,如果未能解决你的问题,请参考以下文章
apache-camel调度程序组件交换属性TIMER_NAME为空
使用状态码 405 获取 org.apache.camel.component.http.HttpOperationFailedException