From 71b942698de314cc0ebe0a235188029675922349 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Sun, 29 Jun 2014 22:56:53 -0400 Subject: [PATCH] Fix sniff task warnings --- .../concurrent/ScheduledExecutorFactoryBean.java | 1 + .../concurrent/ThreadPoolTaskScheduler.java | 4 ++++ .../web/socket/config/WebSocketNamespaceUtils.java | 10 +--------- .../annotation/WebSocketConfigurationSupport.java | 12 +----------- .../WebSocketMessageBrokerConfigurationSupport.java | 10 +--------- 5 files changed, 8 insertions(+), 29 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/scheduling/concurrent/ScheduledExecutorFactoryBean.java b/spring-context/src/main/java/org/springframework/scheduling/concurrent/ScheduledExecutorFactoryBean.java index 7e9510966d..26afc0f256 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/concurrent/ScheduledExecutorFactoryBean.java +++ b/spring-context/src/main/java/org/springframework/scheduling/concurrent/ScheduledExecutorFactoryBean.java @@ -137,6 +137,7 @@ public class ScheduledExecutorFactoryBean extends ExecutorConfigurationSupport @Override + @UsesJava7 protected ExecutorService initializeExecutor( ThreadFactory threadFactory, RejectedExecutionHandler rejectedExecutionHandler) { diff --git a/spring-context/src/main/java/org/springframework/scheduling/concurrent/ThreadPoolTaskScheduler.java b/spring-context/src/main/java/org/springframework/scheduling/concurrent/ThreadPoolTaskScheduler.java index a4c6479087..3bc8dbb887 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/concurrent/ThreadPoolTaskScheduler.java +++ b/spring-context/src/main/java/org/springframework/scheduling/concurrent/ThreadPoolTaskScheduler.java @@ -31,6 +31,7 @@ import java.util.concurrent.TimeUnit; import org.springframework.core.task.AsyncListenableTaskExecutor; import org.springframework.core.task.TaskRejectedException; +import org.springframework.lang.UsesJava7; import org.springframework.scheduling.SchedulingTaskExecutor; import org.springframework.scheduling.TaskScheduler; import org.springframework.scheduling.Trigger; @@ -83,6 +84,7 @@ public class ThreadPoolTaskScheduler extends ExecutorConfigurationSupport * There is no default. If not set, the executor property is not set. *

This setting can be modified at runtime, for example through JMX. */ + @UsesJava7 public void setRemoveOnCancelPolicy(boolean removeOnCancelPolicy) { this.removeOnCancelPolicy = removeOnCancelPolicy; if (this.scheduledExecutor instanceof ScheduledThreadPoolExecutor) { @@ -98,6 +100,7 @@ public class ThreadPoolTaskScheduler extends ExecutorConfigurationSupport this.errorHandler = errorHandler; } + @UsesJava7 @Override protected ExecutorService initializeExecutor( ThreadFactory threadFactory, RejectedExecutionHandler rejectedExecutionHandler) { @@ -169,6 +172,7 @@ public class ThreadPoolTaskScheduler extends ExecutorConfigurationSupport * Return the current setting of removeOnCancelPolicy. *

Requires an underlying {@link ScheduledThreadPoolExecutor} and JDK 1.7+. */ + @UsesJava7 public boolean isRemoveOnCancelPolicy() { if (this.scheduledExecutor == null) { // Not initialized yet: return false (the default of the executor) diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/config/WebSocketNamespaceUtils.java b/spring-websocket/src/main/java/org/springframework/web/socket/config/WebSocketNamespaceUtils.java index 7293cb6238..51cbacbc4e 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/config/WebSocketNamespaceUtils.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/config/WebSocketNamespaceUtils.java @@ -17,8 +17,6 @@ package org.springframework.web.socket.config; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; -import org.springframework.util.ClassUtils; -import org.springframework.web.socket.config.annotation.WebSocketConfigurationSupport; import org.w3c.dom.Element; import org.springframework.beans.factory.config.BeanDefinition; @@ -44,10 +42,6 @@ import java.util.concurrent.ScheduledThreadPoolExecutor; */ class WebSocketNamespaceUtils { - // Check for setRemoveOnCancelPolicy method - available on JDK 7 and higher - private static boolean hasRemoveOnCancelPolicyMethod = ClassUtils.hasMethod( - ScheduledThreadPoolExecutor.class, "setRemoveOnCancelPolicy", boolean.class); - public static RuntimeBeanReference registerHandshakeHandler(Element element, ParserContext parserContext, Object source) { RuntimeBeanReference handlerRef; @@ -149,9 +143,7 @@ class WebSocketNamespaceUtils { taskSchedulerDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); taskSchedulerDef.getPropertyValues().add("poolSize", Runtime.getRuntime().availableProcessors()); taskSchedulerDef.getPropertyValues().add("threadNamePrefix", schedulerName + "-"); - if (hasRemoveOnCancelPolicyMethod) { - taskSchedulerDef.getPropertyValues().add("removeOnCancelPolicy", true); - } + taskSchedulerDef.getPropertyValues().add("removeOnCancelPolicy", true); parserContext.getRegistry().registerBeanDefinition(schedulerName, taskSchedulerDef); parserContext.registerComponent(new BeanComponentDefinition(taskSchedulerDef, schedulerName)); } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationSupport.java b/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationSupport.java index 5e558b7691..6fb4c75541 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationSupport.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationSupport.java @@ -18,11 +18,8 @@ package org.springframework.web.socket.config.annotation; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; -import org.springframework.util.ClassUtils; import org.springframework.web.servlet.HandlerMapping; -import java.util.concurrent.ScheduledThreadPoolExecutor; - /** * Configuration support for WebSocket request handling. * @@ -31,11 +28,6 @@ import java.util.concurrent.ScheduledThreadPoolExecutor; */ public class WebSocketConfigurationSupport { - // Check for setRemoveOnCancelPolicy method - available on JDK 7 and higher - private static boolean hasRemoveOnCancelPolicyMethod = ClassUtils.hasMethod( - ScheduledThreadPoolExecutor.class, "setRemoveOnCancelPolicy", boolean.class); - - @Bean public HandlerMapping webSocketHandlerMapping() { ServletWebSocketHandlerRegistry registry = new ServletWebSocketHandlerRegistry(defaultSockJsTaskScheduler()); @@ -68,9 +60,7 @@ public class WebSocketConfigurationSupport { ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); scheduler.setThreadNamePrefix("SockJS-"); scheduler.setPoolSize(Runtime.getRuntime().availableProcessors()); - if (hasRemoveOnCancelPolicyMethod) { - scheduler.setRemoveOnCancelPolicy(true); - } + scheduler.setRemoveOnCancelPolicy(true); return scheduler; } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupport.java b/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupport.java index ded2e7d6d0..0af443a470 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupport.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupport.java @@ -17,14 +17,12 @@ package org.springframework.web.socket.config.annotation; import java.util.Collections; -import java.util.concurrent.ScheduledThreadPoolExecutor; import org.springframework.beans.factory.config.CustomScopeConfigurer; import org.springframework.context.annotation.Bean; import org.springframework.messaging.simp.SimpSessionScope; import org.springframework.messaging.simp.config.AbstractMessageBrokerConfiguration; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; -import org.springframework.util.ClassUtils; import org.springframework.web.servlet.HandlerMapping; import org.springframework.web.socket.WebSocketHandler; import org.springframework.web.socket.messaging.SubProtocolWebSocketHandler; @@ -43,10 +41,6 @@ import org.springframework.web.socket.messaging.SubProtocolWebSocketHandler; */ public abstract class WebSocketMessageBrokerConfigurationSupport extends AbstractMessageBrokerConfiguration { - // Check for setRemoveOnCancelPolicy method - available on JDK 7 and higher - private static boolean hasRemoveOnCancelPolicyMethod = ClassUtils.hasMethod( - ScheduledThreadPoolExecutor.class, "setRemoveOnCancelPolicy", boolean.class); - private WebSocketTransportRegistration transportRegistration; @@ -104,9 +98,7 @@ public abstract class WebSocketMessageBrokerConfigurationSupport extends Abstrac ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); scheduler.setThreadNamePrefix("MessageBrokerSockJS-"); scheduler.setPoolSize(Runtime.getRuntime().availableProcessors()); - if (hasRemoveOnCancelPolicyMethod) { - scheduler.setRemoveOnCancelPolicy(true); - } + scheduler.setRemoveOnCancelPolicy(true); return scheduler; }