ben*_*n.d 3 java google-client google-cloud-pubsub
我正在尝试实现一项按自己的节奏消耗 google pubsub 订阅的服务。我的意思是,我需要精细控制何时需要使用消息,即获取一批消息,暂停一段时间,不要获取超过 X 条消息......
使用谷歌客户端库,我没有找到一种方法来做到这一点,因为 MessageReceiver 在它自己的线程中运行,并且我无法控制到底会发生什么。
基本上,能够以同步方式使用消息应该可以解决我的问题。
你知道我如何同步使用谷歌客户端库吗?或者我错过了 API 中的另一种方法?
setFlowControlSettings您可以在构建订阅者时尝试使用。特别是,您可以使用setMaxOutstandingElementCount或setMaxOutstandingRequestBytes限制发送到 MessageReceiver 的消息。当您有足够的未处理消息(即您尚未调用Ack()或Nack()超过这些限制的消息)时,您的 MessageReceiver 将不会被调用,直到消息被确认或 nacked。
| 归档时间: |
|
| 查看次数: |
4163 次 |
| 最近记录: |