Skip to content

Commit 92e32c7

Browse files
committed
Add fallback
1 parent 663475b commit 92e32c7

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/main/java/com/marcosbarbero/wd/gracefulshutdown/GracefulShutdown.java

+10-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ final class GracefulShutdown implements TomcatConnectorCustomizer, ApplicationLi
1515

1616
private static final Logger log = LoggerFactory.getLogger(GracefulShutdown.class);
1717

18+
private static final int TIMEOUT = 30;
19+
1820
private volatile Connector connector;
1921

2022
@Override
@@ -30,9 +32,15 @@ public void onApplicationEvent(ContextClosedEvent event) {
3032
try {
3133
ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor) executor;
3234
threadPoolExecutor.shutdown();
33-
if (!threadPoolExecutor.awaitTermination(30, TimeUnit.SECONDS)) {
35+
if (!threadPoolExecutor.awaitTermination(TIMEOUT, TimeUnit.SECONDS)) {
3436
log.warn("Tomcat thread pool did not shut down gracefully within "
35-
+ "30 seconds. Proceeding with forceful shutdown");
37+
+ TIMEOUT + " seconds. Proceeding with forceful shutdown");
38+
39+
threadPoolExecutor.shutdownNow();
40+
41+
if (!threadPoolExecutor.awaitTermination(TIMEOUT, TimeUnit.SECONDS)) {
42+
log.error("Tomcat thread pool did not terminate");
43+
}
3644
}
3745
} catch (InterruptedException ex) {
3846
Thread.currentThread().interrupt();

0 commit comments

Comments
 (0)