Java ApacheCamel inside Spring可以从卡夫卡那里获得以前的消息吗?

Java ApacheCamel inside Spring可以从卡夫卡那里获得以前的消息吗?,java,spring,apache-kafka,apache-camel,Java,Spring,Apache Kafka,Apache Camel,我有一个Spring引导应用程序,它通过ApacheCamel使用来自ApacheKafka的消息 public void init() throws Exception { DefaultCamelContext camelContext = new DefaultCamelContext(); camelContext.addRoutes(new RouteBuilder() { @Override public void configure(

我有一个Spring引导应用程序,它通过ApacheCamel使用来自ApacheKafka的消息

public void init() throws Exception {
    DefaultCamelContext camelContext = new DefaultCamelContext();
    camelContext.addRoutes(new RouteBuilder() {
        @Override
        public void configure() {
            from("kafka:destination?brokers=<host>:9092&maxBlockMs=5000&reconnectBackoffMaxMs=2000")
                    .process(senderProcessor);
        }
    });

    camelContext.start();
}
public void init()引发异常{
DefaultCamelContext camelContext=新的DefaultCamelContext();
camelContext.addRoutes(新RouteBuilder(){
@凌驾
public void configure(){
from(“卡夫卡:目的地?代理=:9092&maxBlockMs=5000&reconnectBackoffMaxMs=2000”)
.进程(发送处理器);
}
});
camelContext.start();
}

当消息到达时,如果上下文已经启动,则它可以工作。但是,如果消息在应用程序启动之前发送到Kafka,则应用程序不会使用这些消息。我相信一定有办法得到它们。这是真的吗?

调用了一个卡夫卡消费者设置,其默认值是
最新的

设置中的名称为
autoOffsetReset

这意味着,使用者忽略所有现有消息,而只使用新消息。如果将其设置为
最早
,消费者将使用所有现有消息


请注意,这仅在消费者第一次连接时起作用。一旦连接并使用消息,它应该将偏移量提交回代理,并在重新连接时使用此保存的偏移量。

调用了卡夫卡消费者设置,其默认值为
最新

设置中的名称为
autoOffsetReset

这意味着,使用者忽略所有现有消息,而只使用新消息。如果将其设置为
最早
,消费者将使用所有现有消息

请注意,这仅在消费者第一次连接时起作用。一旦连接并使用消息,它应该将偏移提交回代理,并在重新连接时使用此保存的偏移