Browse Source

Consistent handling of InterruptedException

Issue: SPR-16479
pull/1676/head
Juergen Hoeller 8 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
Thread.sleep(startupDelay * 1000); Thread.sleep(startupDelay * 1000);
} }
catch (InterruptedException ex) { catch (InterruptedException ex) {
Thread.currentThread().interrupt();
// simply proceed // simply proceed
} }
if (logger.isInfoEnabled()) { if (logger.isInfoEnabled()) {

6
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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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(); return this.sessionFactoryFuture.get();
} }
catch (InterruptedException ex) { catch (InterruptedException ex) {
throw new IllegalStateException("Interrupted during initialization of Hibernate SessionFactory: " + Thread.currentThread().interrupt();
ex.getMessage()); throw new IllegalStateException("Interrupted during initialization of Hibernate SessionFactory", ex);
} }
catch (ExecutionException ex) { catch (ExecutionException ex) {
throw new IllegalStateException("Failed to asynchronously initialize Hibernate SessionFactory: " + 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
return this.nativeEntityManagerFactoryFuture.get(); return this.nativeEntityManagerFactoryFuture.get();
} }
catch (InterruptedException ex) { catch (InterruptedException ex) {
throw new IllegalStateException("Interrupted during initialization of native EntityManagerFactory: " + Thread.currentThread().interrupt();
ex.getMessage()); throw new IllegalStateException("Interrupted during initialization of native EntityManagerFactory", ex);
} }
catch (ExecutionException ex) { catch (ExecutionException ex) {
throw new IllegalStateException("Failed to asynchronously initialize native EntityManagerFactory: " + 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 @@
/* /*
* 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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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); Thread.sleep(100);
} }
catch (InterruptedException ex) { catch (InterruptedException ex) {
Thread.currentThread().interrupt();
throw new IllegalStateException("Interrupted while waiting for " + throw new IllegalStateException("Interrupted while waiting for " +
"async result to be set for handler [" + this.handler + "]", ex); "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 @@
/* /*
* 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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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(); return executeAsync().get();
} }
catch (InterruptedException ex) { catch (InterruptedException ex) {
throw new IOException(ex.getMessage(), ex); Thread.currentThread().interrupt();
throw new IOException("Interrupted during request execution", ex);
} }
catch (ExecutionException ex) { catch (ExecutionException ex) {
if (ex.getCause() instanceof IOException) { if (ex.getCause() instanceof IOException) {

3
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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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); throw new SockJsTransportFailureException("Failed to execute request to " + url, ex);
} }
catch (InterruptedException ex) { catch (InterruptedException ex) {
Thread.currentThread().interrupt();
throw new SockJsTransportFailureException("Interrupted while processing request to " + url, ex); throw new SockJsTransportFailureException("Interrupted while processing request to " + url, ex);
} }
} }

Loading…
Cancel
Save