diff --git a/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerFactoryBean.java b/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerFactoryBean.java index d395a52e1d3..35eb48da15d 100644 --- a/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerFactoryBean.java +++ b/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerFactoryBean.java @@ -700,6 +700,7 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe Thread.sleep(startupDelay * 1000); } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); // simply proceed } if (logger.isInfoEnabled()) { diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java b/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java index 5d41f59873e..0fe180fcc4a 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 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. @@ -421,8 +421,8 @@ public class LocalSessionFactoryBuilder extends Configuration { return this.sessionFactoryFuture.get(); } catch (InterruptedException ex) { - throw new IllegalStateException("Interrupted during initialization of Hibernate SessionFactory: " + - ex.getMessage()); + Thread.currentThread().interrupt(); + throw new IllegalStateException("Interrupted during initialization of Hibernate SessionFactory", ex); } catch (ExecutionException ex) { throw new IllegalStateException("Failed to asynchronously initialize Hibernate SessionFactory: " + diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/AbstractEntityManagerFactoryBean.java b/spring-orm/src/main/java/org/springframework/orm/jpa/AbstractEntityManagerFactoryBean.java index 57f956a2d3d..34790119835 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/AbstractEntityManagerFactoryBean.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/AbstractEntityManagerFactoryBean.java @@ -519,8 +519,8 @@ public abstract class AbstractEntityManagerFactoryBean implements return this.nativeEntityManagerFactoryFuture.get(); } catch (InterruptedException ex) { - throw new IllegalStateException("Interrupted during initialization of native EntityManagerFactory: " + - ex.getMessage()); + Thread.currentThread().interrupt(); + throw new IllegalStateException("Interrupted during initialization of native EntityManagerFactory", ex); } catch (ExecutionException ex) { throw new IllegalStateException("Failed to asynchronously initialize native EntityManagerFactory: " + diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java b/spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java index 1edea5b2320..084f70b71df 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 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. @@ -143,6 +143,7 @@ class DefaultMvcResult implements MvcResult { Thread.sleep(100); } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); throw new IllegalStateException("Interrupted while waiting for " + "async result to be set for handler [" + this.handler + "]", ex); } diff --git a/spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java index 387b1ec9ac0..5d9820c2fbf 100644 --- a/spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 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. @@ -93,7 +93,8 @@ class Netty4ClientHttpRequest extends AbstractAsyncClientHttpRequest implements return executeAsync().get(); } catch (InterruptedException ex) { - throw new IOException(ex.getMessage(), ex); + Thread.currentThread().interrupt(); + throw new IOException("Interrupted during request execution", ex); } catch (ExecutionException ex) { if (ex.getCause() instanceof IOException) { diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java index 11d5ba8a07d..9be23d7769f 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 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. @@ -300,6 +300,7 @@ public class UndertowXhrTransport extends AbstractXhrTransport { throw new SockJsTransportFailureException("Failed to execute request to " + url, ex); } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); throw new SockJsTransportFailureException("Interrupted while processing request to " + url, ex); } }