Interface Poller<T>

All Known Implementing Classes:
DirectPoller

public interface Poller<T>
Interface for polling a Callable instance provided by the user. Use when you need to put something in the background (e.g. a remote invocation) and wait for the result, e.g.
 Poller<Result> poller = ...

 final long id = remoteService.execute(); // do something remotely

 Future<Result> future = poller.poll(new Callable<Result> {
     public Object call() {
           // Look for the result (null if not ready)
           return remoteService.get(id);
     }
 });

 Result result = future.get(1000L, TimeUnit.MILLISECONDS);
 
Author:
Dave Syer, Mahmoud Ben Hassine
  • Method Summary

    Modifier and Type
    Method
    Description
    poll(Callable<T> callable)
    Use the callable provided to poll for a non-null result.
  • Method Details

    • poll

      Future<T> poll(Callable<T> callable) throws Exception
      Use the callable provided to poll for a non-null result. The callable might be executed multiple times searching for a result, but once either a result or an exception has been observed the polling stops.
      Parameters:
      callable - a Callable to use to retrieve a result
      Returns:
      a future which itself can be used to get the result
      Throws:
      Exception - allows for checked exceptions