java – Apache Camel动态消费者
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Apache Camel动态消费者,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1836字,纯文字阅读大概需要3分钟。
内容图文
![java – Apache Camel动态消费者](/upload/InfoBanner/zyjiaocheng/766/f3de158f9fd74353b6f96c6878ad18d0.jpg)
我创建了这个Camel路线
from("direct:pageExtraction")
.bean(PageManager.class, "setProperties(*, ${headers})")
.filter().method(PageManager.class, "exists").to("seda:pagePostProcessing").end()
.to("seda:pageImposition");
from("seda:pagePostProcessing")
.bean(PageManager.class, "extractThumbnail(*, ${headers})")
.bean(PageManager.class, "extractCMYKSeparation(*, ${headers})")
.bean(PageManager.class, "persist(*, ${headers})")
.bean(PageManager.class, "cleanUp(${headers})")
.to("seda:pageImposition");
from("seda:pageImposition")
.bean(PageManager.class, "extractImposition(*, ${headers})")
.to("seda:printQueue");
最后,seda:printQueue没有消费者,在这样的路线中发送消息显然工作正常.现在我想在路由初始化之后引入一个新的消费者,我认为可以用编程方式创建一个Spring bean,让Camel使用@Consume(uri =“seda:printQueue”)注释来获取bean,但是一旦我创建消费者,Camel就会抱怨
org.apache.camel.RuntimeCamelException: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '4965d710-b5c7-41cf-97e9-a42bdfcea894' is defined]
有什么想法吗?
[UPDATE]
我已经将错误追溯到创建这个新消费者的类,我正在实例化PrintQueue类,然后使用AutowireCapableBeanFactory将它集成到Spring上下文中,执行factory.autowireBean(printQueueInstance),然后是factory.initializeBean(printQueueInstance, id)其中id是4965d710-b5c7-41cf-97e9-a42bdfcea894,它出现在上面的异常中,所以我认为这必须是某种上下文范围问题,可能是我在main或web Spring上创建这个bean并且它无法通过Camel上下文访问,这可能吗?
解决方法:
由于通过使用“direct:”组件同步调用此路由,因此对于另一个bean的异步调用似乎不需要“seda:”.在这种情况下,使用Camel的bean方法为Java DSL调用bean似乎最简单.作为Camel bean文档中显示的示例:
http://camel.apache.org/bean.html
我会这样做:
// Send message to the bean endpoint
// and invoke given method.
from("direct:start")
// do other stuff in your route
.beanRef("beanName", "methodName");
内容总结
以上是互联网集市为您收集整理的java – Apache Camel动态消费者全部内容,希望文章能够帮你解决java – Apache Camel动态消费者所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。