我将基于Spring Boot的应用程序配置为与activemq / jms一起使用远程处理。侦听部分运行正常,但是在实现发送部分时遇到问题。
对于发件人,我回到了“经典”骆驼和春天,因为我为此找到了更多可行的示例,但仍然收到错误:
org.springframework.beans.factory.BeanNotOfRequiredTypeException:
Bean named 'myProxy' must be of type [foo.bar.YouNameIt],
but was actually of type [com.sun.proxy.$Proxy83]
这是我尝试加载代理定义的方式:
ApplicationContext context = new ClassPathXmlApplicationContext("config/spring.xml");
YouNameIt youNameIt = context.getBean("myProxy", YouNameIt.class);
这是spring.xml中的条目:
<camel:proxy id="myProxy"
serviceInterface="foo.bar.IYouNameIt"
serviceUrl="activemq:queue:site12345" />
我究竟做错了什么 ?
最佳答案
访问接口IYouNameIt
而不是实现类YouNameIt
:
IYouNameIt youNameIt = context.getBean("myProxy", IYouNameIt.class);
有关完整的Spring远程处理示例,请参见here。