Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 来自Apache Camel路由的手动确认Google pubsub消息_Java_Apache Camel_Google Cloud Pubsub - Fatal编程技术网

Java 来自Apache Camel路由的手动确认Google pubsub消息

Java 来自Apache Camel路由的手动确认Google pubsub消息,java,apache-camel,google-cloud-pubsub,Java,Apache Camel,Google Cloud Pubsub,我有一个主Camel路由(Poller),它从googlepubsub组件开始,调用一个到HTTP端点的辅助路由。如果我得到任何异常,例如网络或端点关闭(HTTP 500、400等),那么我不希望消息被nACKED,而是希望所有消息都被确认,无论路由是否成功 无论路线结果如何,我都在考虑确认的选项。到目前为止,还没有找到任何方法或道具交换等 我知道这并不理想,但我有这样的要求。我已经尝试过使用一个定制的pubsub连接工厂,如这个问题()中所述,但它似乎对我的情况没有帮助,因为我似乎仍然无法将它

我有一个主Camel路由(Poller),它从googlepubsub组件开始,调用一个到HTTP端点的辅助路由。如果我得到任何异常,例如网络或端点关闭(HTTP 500、400等),那么我不希望消息被nACKED,而是希望所有消息都被确认,无论路由是否成功

无论路线结果如何,我都在考虑确认的选项。到目前为止,还没有找到任何方法或道具交换等

我知道这并不理想,但我有这样的要求。我已经尝试过使用一个定制的pubsub连接工厂,如这个问题()中所述,但它似乎对我的情况没有帮助,因为我似乎仍然无法将它们返回


关于我如何做到这一点的任何想法或任何可以帮助我的例子。谢谢。

应该这样做:

在骆驼路线中添加一个处理器,该处理器可执行以下操作:

exchange.getUnitOfWork().done(exchange);

它应该确认消息,而不管消息的来源是什么(本例中为google pubsub).

应该可以:

在骆驼路线中添加一个处理器,该处理器可执行以下操作:

exchange.getUnitOfWork().done(exchange);

无论消息来源如何,它都应该确认消息(本例中为google pubsub).

我不确定是否要更改骆驼路线,但是,您可以使用此处介绍的技术定期从订阅中清除旧邮件:这可以实现删除未在一段时间内处理的邮件的目标我不确定是否要更改骆驼路线,但是,您可以使用此处介绍的技术定期从订阅中清除旧邮件:这可以实现删除未在一段时间内处理的邮件的目标