List of usage examples for org.springframework.util.concurrent ListenableFutureCallback ListenableFutureCallback
ListenableFutureCallback
From source file:com.curso.ejemplotareaplanificada.Principal.java
/** * @param args the command line arguments *//* w w w.j a v a 2 s . co m*/ public static void main(String[] args) { //solo estamos usando anotaciones //en esta clase no hay nada de los metodos planificados porque esos ya los llama spring solito //esta clase es para pegarnos con los servicios asincronos ApplicationContext ctx = new AnnotationConfigApplicationContext(Configuracion.class); System.out.println("Contexto cargado"); ServicioAsincrono sa = ctx.getBean(ServicioAsincrono.class); System.out.println("Hilo principal " + Thread.currentThread()); //Este metodo devuelve void asi que el hilo arranca un nuevo hilo pero continua sin esperar ni ahora ni a un futuro sa.metodoUno(); //Este metodo devuelve un futuro, y cuando llamemos a get espera 5 segundos a ver si termina el nuevo hilo //Si sobre pasa esos 5 segundos lanza una excepcion Future<Double> numero = sa.factorial(100); try { System.out.println("El factorial es desde un Future:" + numero.get(5L, TimeUnit.SECONDS)); } catch (InterruptedException | ExecutionException | TimeoutException ex) { Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex); } //Este metodo devuelve un escuchable ListenableFuture<Double> valor = sa.factorialLf(100); //Al metodo escuchable le aadimos una clase anonima de tipo llamable con dos metodos, uno que se ejecutara cuando acabe con exito //y otro si no acaba correctamente valor.addCallback(new ListenableFutureCallback<Double>() { @Override public void onSuccess(Double result) { System.out.println("El resultado es desde un ListenableFuture: " + result); } @Override public void onFailure(Throwable ex) { LOG.log(Level.SEVERE, "Ha ocurrido un error:", ex); } }); }
From source file:net.javacrumbs.futureconverter.springrx.ListenableFutureObservable.java
private static <T> OnSubscribe<T> onSubscribe(final ListenableFuture<T> listenableFuture) { return new Observable.OnSubscribe<T>() { @Override/*from ww w.j a va 2 s . c o m*/ public void call(final Subscriber<? super T> subscriber) { listenableFuture.addCallback(new ListenableFutureCallback<T>() { @Override public void onSuccess(T t) { if (!subscriber.isUnsubscribed()) { subscriber.onNext(t); subscriber.onCompleted(); } } @Override public void onFailure(Throwable throwable) { if (!subscriber.isUnsubscribed()) { subscriber.onError(throwable); } } }); } }; }
From source file:com.opopov.cloud.image.utils.Utils.java
public static <T> CompletableFuture<T> fromListenableFuture(ListenableFuture<T> listenable) { CompletableFuture<T> completable = new CompletableFuture<T>() { @Override//from ww w . j a v a 2s. c om public boolean isCancelled() { return listenable.isCancelled(); } @Override public boolean cancel(boolean mayInterruptIfRunning) { //delegate cancel to the wrapped listenable boolean cancelledStatus = listenable.cancel(mayInterruptIfRunning); super.cancel(mayInterruptIfRunning); return cancelledStatus; } }; //now delegate the callbacks ListenableFutureCallback<T> callback = new ListenableFutureCallback<T>() { @Override public void onFailure(Throwable ex) { //delegate exception completable.completeExceptionally(ex); } @Override public void onSuccess(T result) { //delegate success completable.complete(result); } }; listenable.addCallback(callback); return completable; }
From source file:net.javacrumbs.futureconverter.springjava.FutureConverter.java
private static <T> CompletableFuture<T> buildCompletableFutureFromListenableFuture( final ListenableFuture<T> listenableFuture) { CompletableFuture<T> completable = new CompletableListenableFuture<T>(listenableFuture); listenableFuture.addCallback(new ListenableFutureCallback<T>() { @Override/* w w w . j ava2 s. c o m*/ public void onSuccess(T result) { completable.complete(result); } @Override public void onFailure(Throwable t) { completable.completeExceptionally(t); } }); return completable; }
From source file:net.javacrumbs.completionstage.examples.SpringListenableFutureTest.java
@Test public void testTransformationFromSpring() { ListenableFuture<String> springListenableFuture = createSpringListenableFuture(); CompletableCompletionStage<Object> completionStage = factory.createCompletionStage(); springListenableFuture.addCallback(new ListenableFutureCallback<String>() { @Override/*from ww w . j a v a 2 s .com*/ public void onSuccess(String result) { completionStage.complete(result); } @Override public void onFailure(Throwable t) { completionStage.completeExceptionally(t); } }); completionStage.thenAccept(System.out::println); }
From source file:net.javacrumbs.futureconverter.common.test.spring.SpringConvertedFutureTestHelper.java
@Override public void waitForCalculationToFinish(ListenableFuture<String> convertedFuture) throws InterruptedException { final CountDownLatch latch = new CountDownLatch(1); convertedFuture.addCallback(new ListenableFutureCallback<String>() { @Override/*from w ww . j a v a2s . c o m*/ public void onSuccess(String result) { latch.countDown(); } @Override public void onFailure(Throwable t) { latch.countDown(); } }); latch.await(1, TimeUnit.SECONDS); }
From source file:com.example.SenderApplication.java
@Bean @ServiceActivator(inputChannel = "pubSubOutputChannel") public MessageHandler messageSender(PubSubTemplate pubsubTemplate) { PubSubMessageHandler adapter = new PubSubMessageHandler(pubsubTemplate, "exampleTopic"); adapter.setPublishCallback(new ListenableFutureCallback<String>() { @Override/*www. j a v a2s. c o m*/ public void onFailure(Throwable ex) { LOGGER.info("There was an error sending the message."); } @Override public void onSuccess(String result) { LOGGER.info("Message was sent successfully."); } }); return adapter; }
From source file:com.example.SenderConfiguration.java
@Bean @ServiceActivator(inputChannel = "pubSubOutputChannel") public MessageHandler messageSender(PubSubTemplate pubSubTemplate) { PubSubMessageHandler adapter = new PubSubMessageHandler(pubSubTemplate, TOPIC_NAME); adapter.setPublishCallback(new ListenableFutureCallback<String>() { @Override/*from w w w . j a v a 2s.com*/ public void onFailure(Throwable ex) { LOGGER.info("There was an error sending the message."); } @Override public void onSuccess(String result) { LOGGER.info("Message was sent successfully."); } }); return adapter; }
From source file:net.javacrumbs.futureconverter.common.test.spring.SpringConvertedFutureTestHelper.java
@Override public void addCallbackTo(ListenableFuture<String> convertedFuture) { convertedFuture.addCallback(callback); convertedFuture.addCallback(new ListenableFutureCallback<String>() { @Override//from w w w . j a va 2 s . co m public void onSuccess(String result) { callbackCalled(); } @Override public void onFailure(Throwable t) { callbackCalled(); } }); }
From source file:com.pepaproch.gtswsdl.client.RateLimitTest.java
private synchronized void addTask(AtomicInteger cc, ScheduledExecutorService schelduler, RateLimit rate, Instant[] end) {/*from www . j av a2 s. c om*/ Callable<Integer> callable = (Callable<Integer>) () -> { return cc.get(); }; ListenableFutureTask request = new ListenableFutureTask(callable); schelduler.schedule(() -> { FutureTask<?> schelduledTask = request; if (!request.isCancelled() && !request.isDone()) { schelduledTask.run(); } }, rate.consumeSlot(), TimeUnit.MILLISECONDS); request.addCallback(new ListenableFutureCallback<Integer>() { @Override public void onSuccess(Integer result) { cc.incrementAndGet(); end[0] = Instant.now(); System.out.println("FINISHEDLISTENBALE: " + result + end[0].toString()); } @Override public void onFailure(Throwable ex) { System.out.println("FAILURE"); } }); }