Skip to content

Commit cb40908

Browse files
committed
Fix warnings from the sniff task
1 parent 2b1ff4c commit cb40908

File tree

3 files changed

+27
-3
lines changed

3 files changed

+27
-3
lines changed

spring-websocket/src/main/java/org/springframework/web/socket/config/WebSocketNamespaceUtils.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
package org.springframework.web.socket.config;
1818

1919
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
20+
import org.springframework.util.ClassUtils;
21+
import org.springframework.web.socket.config.annotation.WebSocketConfigurationSupport;
2022
import org.w3c.dom.Element;
2123

2224
import org.springframework.beans.factory.config.BeanDefinition;
@@ -40,6 +42,11 @@
4042
*/
4143
class WebSocketNamespaceUtils {
4244

45+
// Check for setRemoveOnCancelPolicy method - available on JDK 7 and higher
46+
private static boolean hasRemoveOnCancelPolicyMethod = ClassUtils.hasMethod(
47+
WebSocketConfigurationSupport.class, "setRemoveOnCancelPolicy", boolean.class);
48+
49+
4350
public static RuntimeBeanReference registerHandshakeHandler(Element element, ParserContext parserContext, Object source) {
4451
RuntimeBeanReference handlerRef;
4552
Element handlerElem = DomUtils.getChildElementByTagName(element, "handshake-handler");
@@ -140,7 +147,9 @@ private static RuntimeBeanReference registerSockJsTaskScheduler(String scheduler
140147
taskSchedulerDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
141148
taskSchedulerDef.getPropertyValues().add("poolSize", Runtime.getRuntime().availableProcessors());
142149
taskSchedulerDef.getPropertyValues().add("threadNamePrefix", schedulerName + "-");
143-
taskSchedulerDef.getPropertyValues().add("removeOnCancelPolicy", true);
150+
if (hasRemoveOnCancelPolicyMethod) {
151+
taskSchedulerDef.getPropertyValues().add("removeOnCancelPolicy", true);
152+
}
144153
parserContext.getRegistry().registerBeanDefinition(schedulerName, taskSchedulerDef);
145154
parserContext.registerComponent(new BeanComponentDefinition(taskSchedulerDef, schedulerName));
146155
}

spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationSupport.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import org.springframework.context.annotation.Bean;
2020
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
21+
import org.springframework.util.ClassUtils;
2122
import org.springframework.web.servlet.HandlerMapping;
2223

2324
/**
@@ -28,6 +29,11 @@
2829
*/
2930
public class WebSocketConfigurationSupport {
3031

32+
// Check for setRemoveOnCancelPolicy method - available on JDK 7 and higher
33+
private static boolean hasRemoveOnCancelPolicyMethod = ClassUtils.hasMethod(
34+
WebSocketConfigurationSupport.class, "setRemoveOnCancelPolicy", boolean.class);
35+
36+
3137
@Bean
3238
public HandlerMapping webSocketHandlerMapping() {
3339
ServletWebSocketHandlerRegistry registry = new ServletWebSocketHandlerRegistry(defaultSockJsTaskScheduler());
@@ -60,7 +66,9 @@ public ThreadPoolTaskScheduler defaultSockJsTaskScheduler() {
6066
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
6167
scheduler.setThreadNamePrefix("SockJS-");
6268
scheduler.setPoolSize(Runtime.getRuntime().availableProcessors());
63-
scheduler.setRemoveOnCancelPolicy(true);
69+
if (hasRemoveOnCancelPolicyMethod) {
70+
scheduler.setRemoveOnCancelPolicy(true);
71+
}
6472
return scheduler;
6573
}
6674

spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupport.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.springframework.messaging.simp.SimpSessionScope;
2424
import org.springframework.messaging.simp.config.AbstractMessageBrokerConfiguration;
2525
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
26+
import org.springframework.util.ClassUtils;
2627
import org.springframework.web.servlet.HandlerMapping;
2728
import org.springframework.web.socket.WebSocketHandler;
2829
import org.springframework.web.socket.messaging.SubProtocolWebSocketHandler;
@@ -41,6 +42,10 @@
4142
*/
4243
public abstract class WebSocketMessageBrokerConfigurationSupport extends AbstractMessageBrokerConfiguration {
4344

45+
// Check for setRemoveOnCancelPolicy method - available on JDK 7 and higher
46+
private static boolean hasRemoveOnCancelPolicyMethod = ClassUtils.hasMethod(
47+
WebSocketConfigurationSupport.class, "setRemoveOnCancelPolicy", boolean.class);
48+
4449
private WebSocketTransportRegistration transportRegistration;
4550

4651

@@ -98,7 +103,9 @@ public ThreadPoolTaskScheduler messageBrokerSockJsTaskScheduler() {
98103
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
99104
scheduler.setThreadNamePrefix("MessageBrokerSockJS-");
100105
scheduler.setPoolSize(Runtime.getRuntime().availableProcessors());
101-
scheduler.setRemoveOnCancelPolicy(true);
106+
if (hasRemoveOnCancelPolicyMethod) {
107+
scheduler.setRemoveOnCancelPolicy(true);
108+
}
102109
return scheduler;
103110
}
104111

0 commit comments

Comments
 (0)