Browse Source

Consistent handling of InterruptedException

Issue: SPR-16479
pull/1676/head
Juergen Hoeller 7 years ago
parent
commit
39201adca4
  1. 1
      spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerFactoryBean.java
  2. 6
      spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java
  3. 4
      spring-orm/src/main/java/org/springframework/orm/jpa/AbstractEntityManagerFactoryBean.java
  4. 3
      spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java
  5. 5
      spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java
  6. 3
      spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java

1
spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerFactoryBean.java

@ -700,6 +700,7 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe @@ -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()) {

6
spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java

@ -1,5 +1,5 @@ @@ -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 { @@ -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: " +

4
spring-orm/src/main/java/org/springframework/orm/jpa/AbstractEntityManagerFactoryBean.java

@ -519,8 +519,8 @@ public abstract class AbstractEntityManagerFactoryBean implements @@ -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: " +

3
spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java

@ -1,5 +1,5 @@ @@ -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 { @@ -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);
}

5
spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java

@ -1,5 +1,5 @@ @@ -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 @@ -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) {

3
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java

@ -1,5 +1,5 @@ @@ -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 { @@ -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);
}
}

Loading…
Cancel
Save