其他分享
首页 > 其他分享> > 春季-如何确保Camel的ProducerTemplate等待CamelContext启动

春季-如何确保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