Asynchronous retrying for Java 7/8