当前位置: 首页 > 知识库问答 >
问题:

kafka streams应用程序-重新启动时忽略旧消息

燕经国
2023-03-14

我处理实时应用程序的timeseries数据。所以旧数据没有意义。我只想处理流应用程序启动后收到的数据,而不是之前提交的偏移量。重启Kafka流应用后,忽略旧记录的正确方法是什么?

对于kafka consumer API,我通常使用seekToEnd()方法向前跳到最新记录。流是否有一种等效的机制?我希望避免过滤自上次提交以来的所有邮件,以忽略旧邮件。

共有1个答案

法风畔
2023-03-14

您可以使用Kafka消费者应用编程接口创建另一个消费者,其group Id与kafka-streamApplication ationId相同,并在启动流之前使用该消费者执行sekToend()。禁用此特殊消费者的autoCommit,并在sekToend()之后手动提交偏移量。然后尝试启动流。

确保在提交重置消费者的补偿之前,流尚未启动。

 类似资料:
  • 问题内容: 我愿意在应用程序中添加一个按钮,单击该按钮将重新启动该应用程序。我搜索谷歌,但没有发现任何有用的,除了这一个。但是,此处遵循的过程违反了Java的WORA概念。 是否有其他以Java为中心的方法来实现此功能?是否可以只派生另一个副本然后退出? 提前致谢。我感谢您的帮助。 @deporter我已经尝试过您的解决方案,但是它不起作用:( @mKorbel我写的,采取的概念下面的代码,你曾在

  • 问题内容: 如何重新启动Java AWT应用程序?我有一个附加了事件处理程序的按钮。我应该使用什么代码来重新启动应用程序? 我想做与应用程序中相同的事情。 问题答案: 当然,可以重新启动Java应用程序。 以下方法显示了一种重新启动Java应用程序的方法: 基本上,它执行以下操作: 查找Java可执行文件(我在这里使用了Java二进制文件,但这取决于您的要求) 查找应用程序(在我的情况下是一个ja

  • 我正在尝试发布我的第一个Android应用程序,以发送给一些测试人员。但是,我遇到了一个问题。当您退出应用程序,然后通过其图标启动它重新进入它时,它会重新启动整个应用程序,而不是返回到其以前的位置。即使您在退出后立即重新进入,也会发生这种情况。但是,如果我按住主屏幕按钮并通过最近的应用程序列表启动它,则不会发生这种情况。 我在网上搜索过其他有这个问题的人,只有少数人,但没有人能确切回答为什么会发生

  • 问题内容: 我有一个Java应用程序。 该应用程序具有一个设置,该设置决定该应用程序是否在启动时启动。 目前,我可以通过在“启动项目”文件夹中放置/删除快捷方式来实现此目的。 但是,我想知道是否有更好的方法来处理此行为。 编辑 是的,它是Windows。抱歉,之前没有清除该内容。 该应用程序具有一个用户可以在其中触发动作的UI,并且该应用程序在运行时会定期在后台运行一些任务。 @Peter,如何在

  • 这个问题似乎已经被问到和回答了,但到目前为止,我遇到的每一个解决方案都没有帮助。我正在编写一个PowerShell脚本来运行一些RESTAPI以获取使用信息。我的脚本在尝试与服务器通信时立即中断。为了测试起见,我正在执行一个非常简单的命令: 它返回此错误: 我可以运行相同的命令,但与URLgoogle.com,我得到一个有效的返回,所以我知道命令一般来说是工作。 如果我在服务器本身上运行curl等

  • 我有一份Java申请。 应用程序有一个决定应用程序是否在启动时启动的设置。 目前,我通过在StartUp items文件夹中放置/删除快捷方式实现了这一点。 然而,我想知道是否有更好的方法来处理这种行为。 编辑 是的,是视窗。抱歉之前没有清除。 应用程序有一个UI,用户可以在其中触发操作,并且应用程序在运行时定期在后台运行一些任务。 @Peter,如何使用应用程序中的代码更改注册表?这种方法是否与