Java 接收用户端点数据

Java 接收用户端点数据,java,twitter,apache-camel,Java,Twitter,Apache Camel,我创建了一条大致如下的路线: @Override public void configure() throws Exception { from("direct:twitter") .from("twitter://timeline/user?type=direct&user=" + this.uri) .choice() .when(body().is

我创建了一条大致如下的路线:

        @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的状态对象结果。我还为Facebook帖子和RSS提要写了另外两条路线。它们遵循类似的模式并返回响应对象,而不是我发送的请求

我还想知道我可以做些什么来更改行为,以便producerTemplate.requestBody(…)返回twitter消息列表

感谢您抽出时间。

使用该组件获取更多数据:

from("direct:twitter")
    .pollEnrich("twitter://timeline/user?type=direct&user=" + this.uri)
    .choice()
    ...
或者,您可以只使用以下自动启动的路线:

from("twitter://timeline/user?type=direct&user=" + this.uri)
    .choice()
    ...

注意,每个返回的对象创建一个路由交换,而不是一个列表。

谢谢,我已经解决了这个问题。