【发布时间】:2014-06-23 03:35:39
【问题描述】:
我创建了一个大致如下所示的路线:
@Override
public void configure() throws Exception {
from("direct:twitter")
.from("twitter://timeline/user?type=direct&user=" + this.uri)
.choice()
.when(body().isInstanceOf(Status.class))
.process(new MyTwitterProcessor())
.convertBodyTo(MyClass.class)
.to("log:do something")
.endChoice()
.to("log:mi amigo");
}
直接从 producerTemplate.requestBody("direct:twitter", object) 调用此路由,我希望收到 MyClass.class 实例的列表。相反,它返回的是我在 requestBody 方法调用中发送的对象。
根据日志语句“log:do something”,我可以看到正在返回状态对象 - 来自 twitter 的请求和响应显然正在发生。
我想了解为什么我的路由配置返回的是我发送的对象,而不是来自 twitter 的 Status 对象结果。我已经为 Facebook 帖子和 RSS 提要编写了另外两条路线。它们遵循类似的模式并返回响应对象,而不是我发送的请求。
我还想知道我可以做些什么来改变行为,以便 producerTemplate.requestBody(...) 返回 Twitter 消息列表。
感谢您的宝贵时间。
【问题讨论】:
标签: java twitter apache-camel