Tôi đang đọc lên trên GCM: https://developers.google.com/cloud-messaging/serverXuân RestTemplate: Exponential Backoff thử lại chính sách
và một trong những yêu cầu là máy chủ cần phải có khả năng:
- xử lý các yêu cầu và gửi lại chúng bằng cách sử trả về theo hàm số mũ.
Tôi sử dụng Spring RestTemplate cho phần phụ trợ của tôi xuất phát từ Spring Boot. Có vẻ như không phải là phương pháp mà tôi có thể sử dụng để đặt chính sách thử lại của tôi trong tài liệu: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html
Ngoài ra khi tôi googled, tôi tìm thấy RetryTemplate, nhưng nó là một phần của Spring Batch và không mở rộng RestTemplate điều này khiến tôi nghĩ rằng nó không được sử dụng cho các hoạt động Rest, mà là các hoạt động của Spring Batch như xử lý số lượng lớn các giao dịch: http://docs.spring.io/spring-batch/2.1.x/apidocs/org/springframework/batch/retry/support/RetryTemplate.html
Có cách nào tôi có thể sử dụng backoff mũ với Spring RestTemplate?
https://github.com/rholder/guava-retrying có chiến lược thử lại theo hàm mũ. Đó là một chiếc máy sấy đa năng, bạn có thể sử dụng để thử lại bất cứ thứ gì bạn muốn. –
Bạn có thể thêm tính năng thử lại mùa xuân làm phụ thuộc để xử lý Thử lại https://github.com/spring-projects/spring-retry. –
Chúng tôi đã thực hiện như vậy trong khung cốt lõi để hỗ trợ JMS. Đây là một ý tưởng thú vị. Bạn có thể vui lòng tạo ra một vấn đề [trong bộ theo dõi vấn đề khung Spring] (https://jira.spring.io/browse/SPR)? Cảm ơn! –