From 2bb7164c64d94469cc93cd5e95da55a83ef02aad Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 31 Aug 2015 17:31:52 +0200 Subject: [PATCH] AsyncRestTemplate and FutureAdapter consistently throw ExecutionException Issue: SPR-13413 --- .../util/concurrent/FutureAdapter.java | 14 +++++++------- .../web/client/AsyncRestTemplate.java | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/util/concurrent/FutureAdapter.java b/spring-core/src/main/java/org/springframework/util/concurrent/FutureAdapter.java index ad046957a6b..37aac9310eb 100644 --- a/spring-core/src/main/java/org/springframework/util/concurrent/FutureAdapter.java +++ b/spring-core/src/main/java/org/springframework/util/concurrent/FutureAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,27 +59,27 @@ public abstract class FutureAdapter implements Future { * Returns the adaptee. */ protected Future getAdaptee() { - return adaptee; + return this.adaptee; } @Override public boolean cancel(boolean mayInterruptIfRunning) { - return adaptee.cancel(mayInterruptIfRunning); + return this.adaptee.cancel(mayInterruptIfRunning); } @Override public boolean isCancelled() { - return adaptee.isCancelled(); + return this.adaptee.isCancelled(); } @Override public boolean isDone() { - return adaptee.isDone(); + return this.adaptee.isDone(); } @Override public T get() throws InterruptedException, ExecutionException { - return adaptInternal(adaptee.get()); + return adaptInternal(this.adaptee.get()); } @Override @@ -107,7 +107,7 @@ public abstract class FutureAdapter implements Future { this.state = State.FAILURE; throw ex; } - catch (RuntimeException ex) { + catch (Throwable ex) { ExecutionException execEx = new ExecutionException(ex); this.result = execEx; this.state = State.FAILURE; diff --git a/spring-web/src/main/java/org/springframework/web/client/AsyncRestTemplate.java b/spring-web/src/main/java/org/springframework/web/client/AsyncRestTemplate.java index 8adf57400a5..eb6b5230121 100644 --- a/spring-web/src/main/java/org/springframework/web/client/AsyncRestTemplate.java +++ b/spring-web/src/main/java/org/springframework/web/client/AsyncRestTemplate.java @@ -666,7 +666,7 @@ public class AsyncRestTemplate extends AsyncHttpAccessor implements AsyncRestOpe } return convertResponse(response); } - catch (IOException ex) { + catch (Throwable ex) { throw new ExecutionException(ex); } finally {