春季-如何确保Camel的ProducerTemplate等待CamelContext启动
作者:互联网
我试图使用@EndpointInject批注以创建ProducerTemplate来将我的POJO桥接到CamelContext(如此处所述http://camel.apache.org/pojo-producing.html).
我遇到的问题是在启动骆驼上下文中的所有路由之前,将ProducerTemplate注入到我的POJO中.因此,当我调用producerTemplate.send(…)时,我收到DirectConsumerNotAvailableException:端点上没有可用的使用者…错误.
为了确保在尝试发送到路由之前启动CamelContext,我需要做些什么吗?
解决方法:
您可以在直接端点上将block = true用作选项,它将等待使用者使用并运行.这应该有所帮助.
> http://camel.apache.org/direct
否则,您将需要自己编写一些代码以等待CamelContext处于启动状态.您可以从注入的具有getCamelContext的ProducerTemplate中访问它.
另一种选择是拥有依赖项注入框架,如果可能的话,在Camel之后设置您的bean.如果您使用的是Spring xml,则它具有您可以在< bean>上设置的依赖性属性.标签.
标签:apache-camel,spring 来源: https://codeday.me/bug/20191120/2043352.html