如何使用googlepubsubjava库处理消息确认过程中的错误



我正在使用pubsub库,当我执行message.ack()时,不时会出现此错误

Caused by: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.

然而,在我无法访问的某个线程中出现了该错误。有没有办法为确认添加异常处理程序?

您不需要对这个异常做任何事情,所以它只是在日志中提供信息。Pub/Sub库将重试可以重试的ack。如果ack最终失败,消息将被重新传递。

您可能需要处理失败的ack的唯一地方是,如果您只使用一次交付,它提供了一个ack方法,该方法返回一个future,如果失败则抛出异常。

日志级别从WARNING->1.120.7版中的INFO

此更改是否符合您的要求?

最新更新