如果要将事件发布到Pub / Sub失败,我们希望使用故障回复机制。我正在使用“ ListenableFutureCallback”来了解是否成功发布了消息。万一失败,它只是引发异常,我需要事件详细信息才能将其发布到内部消息传递服务。如何在onFailure()方法中获取事件详细信息。 我正在使用Spring Integration。 下面是一段代码。
监听器:
@Component
public class PubSubOperationListener implements ListenableFutureCallback<String> {
private static Logger LOGGER = LoggerFactory.getLogger(PubSubOperationListener.class);
@Override
public void onFailure(Throwable throwable) {
LOGGER.error("Failed to publish the message and details : {}",throwable);
// Logic to process it using different approach.
}
@Override
public void onSuccess(String s) {
LOGGER.info("Message published successfully.");
}
ServiceActivator:
PubSubMessageHandler pubSubMessageHandler = new PubSubMessageHandler(pubSubTemplate, testTopic);
pubSubMessageHandler.setPublishCallback(pubSubOperationListener);
return pubSubMessageHandler;
请提出是否有不同的方法来做同样的事情。