骆驼代理抱怨错误的类型

时间:2014-08-14 21:00:38

标签: java spring apache-camel activemq spring-boot

我配置了一个基于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" />

我做错了什么?

1 个答案:

答案 0 :(得分:2)

访问界面IYouNameIt而不是实现类YouNameIt

IYouNameIt youNameIt = context.getBean("myProxy", IYouNameIt.class);

有关完整的Spring远程示例,请参阅here