Spring integration kafka使用者轮询会增加方法执行时间

Spring integration kafka使用者轮询会增加方法执行时间,spring-integration,apache-kafka,kafka-consumer-api,Spring Integration,Apache Kafka,Kafka Consumer Api,在我们的应用程序中,使用者在应用程序加载时开始连续轮询,因此有时会影响其中一个应用程序的执行时间 方法,在方法执行之间进行轮询 方法(比如test())在junit情况下运行理想情况下需要几毫秒,但现在在应用程序中执行需要几秒钟 在这个时候,如果可能的话 在spring integration中,doc看到了一个名为PollSkipAdvice/PollSkipStrategy的东西,它说PollSkipAdvice可以用来抑制(跳过)投票 请您建议一下,如果这对上述场景有帮助的话。如果能用例子

在我们的应用程序中,使用者在应用程序加载时开始连续轮询,因此有时会影响其中一个应用程序的执行时间 方法,在方法执行之间进行轮询

方法(比如test())在junit情况下运行理想情况下需要几毫秒,但现在在应用程序中执行需要几秒钟 在这个时候,如果可能的话

在spring integration中,doc看到了一个名为PollSkipAdvice/PollSkipStrategy的东西,它说PollSkipAdvice可以用来抑制(跳过)投票

请您建议一下,如果这对上述场景有帮助的话。如果能用例子解释一下,那就太好了。谢谢

示例配置:

 <int-kafka:inbound-channel-adapter
    id="kafkaInboundChannelAdapter" kafka-consumer-context-ref="consumerContext"
    auto-startup="false" channel="inputFromKafka">
    <int:poller fixed-delay="10" time-unit="MILLISECONDS"
        max-messages-per-poll="5" />
</int-kafka:inbound-channel-adapter>

您的场景不清楚。真的

这里只有一个适配器,每
10
毫秒具有攻击性
固定延迟
,并且仅用于少量消息

考虑增加轮询时间,并将每次轮询的
最大消息数设置为
-1
,以便为一个轮询任务轮询所有消息

从另一方面来看,还不清楚您的
test()
方法是如何涉及的

也考虑切换到<代码> <代码>以更好地控制消息。

关于
PollSkipAdvice
。。。真的不知道你想达到什么目标

还有一点。请记住,所有
都使用相同的
线程池任务调度程序
,并将
10
作为池。所以,也许其他一些长期存在的任务使线程保持忙碌

你的
只需要一个,当然每10毫秒