If you call a remote REST service, you perhaps want to retry automatically upon recoverable errors. Make sure to test that code - so that you won't end up surprised that it is completely broken, as I was :-) What follows is a few simple tips for simulating some common recoverable failures.
java.net.ConnectException- usehttp://localhost:<port where nothing runs>java.net.SocketTimeoutException- runnc -lk 5432to listen but not respond and connect to "http://localhost:5432"HTTP 5xx- use "https://httpbin.org/status/500" (or any other 5xx number)- Other - use Toxiproxy, a TCP proxy to simulate network and system conditions for chaos and resiliency testing
