Commit d09e4849ba6d79d9906df1a4b7e17ffa314c52a1

Authored by YunaiV
1 parent d128d787

fix:【Infra 基础设置】支持 yudao.websocket.enable 手动关闭

yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/api/websocket/WebSocketSenderApiImpl.java
1 package cn.iocoder.yudao.module.infra.api.websocket; 1 package cn.iocoder.yudao.module.infra.api.websocket;
2 2
3 import cn.iocoder.yudao.framework.websocket.core.sender.WebSocketMessageSender; 3 import cn.iocoder.yudao.framework.websocket.core.sender.WebSocketMessageSender;
  4 +import org.springframework.beans.factory.annotation.Autowired;
4 import org.springframework.stereotype.Component; 5 import org.springframework.stereotype.Component;
5 6
6 -import jakarta.annotation.Resource;  
7 -  
8 /** 7 /**
9 * WebSocket 发送器的 API 实现类 8 * WebSocket 发送器的 API 实现类
10 * 9 *
@@ -13,7 +12,8 @@ import jakarta.annotation.Resource; @@ -13,7 +12,8 @@ import jakarta.annotation.Resource;
13 @Component 12 @Component
14 public class WebSocketSenderApiImpl implements WebSocketSenderApi { 13 public class WebSocketSenderApiImpl implements WebSocketSenderApi {
15 14
16 - @Resource 15 + @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection")
  16 + @Autowired(required = false) // 由于 yudao.websocket.enable 配置项,可以关闭 WebSocket 的功能,所以这里只能不强制注入
17 private WebSocketMessageSender webSocketMessageSender; 17 private WebSocketMessageSender webSocketMessageSender;
18 18
19 @Override 19 @Override
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/websocket/DemoWebSocketMessageListener.java
@@ -6,11 +6,10 @@ import cn.iocoder.yudao.framework.websocket.core.sender.WebSocketMessageSender; @@ -6,11 +6,10 @@ import cn.iocoder.yudao.framework.websocket.core.sender.WebSocketMessageSender;
6 import cn.iocoder.yudao.framework.websocket.core.util.WebSocketFrameworkUtils; 6 import cn.iocoder.yudao.framework.websocket.core.util.WebSocketFrameworkUtils;
7 import cn.iocoder.yudao.module.infra.websocket.message.DemoReceiveMessage; 7 import cn.iocoder.yudao.module.infra.websocket.message.DemoReceiveMessage;
8 import cn.iocoder.yudao.module.infra.websocket.message.DemoSendMessage; 8 import cn.iocoder.yudao.module.infra.websocket.message.DemoSendMessage;
  9 +import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Component; 10 import org.springframework.stereotype.Component;
10 import org.springframework.web.socket.WebSocketSession; 11 import org.springframework.web.socket.WebSocketSession;
11 12
12 -import jakarta.annotation.Resource;  
13 -  
14 /** 13 /**
15 * WebSocket 示例:单发消息 14 * WebSocket 示例:单发消息
16 * 15 *
@@ -19,7 +18,8 @@ import jakarta.annotation.Resource; @@ -19,7 +18,8 @@ import jakarta.annotation.Resource;
19 @Component 18 @Component
20 public class DemoWebSocketMessageListener implements WebSocketMessageListener<DemoSendMessage> { 19 public class DemoWebSocketMessageListener implements WebSocketMessageListener<DemoSendMessage> {
21 20
22 - @Resource 21 + @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection")
  22 + @Autowired(required = false) // 由于 yudao.websocket.enable 配置项,可以关闭 WebSocket 的功能,所以这里只能不强制注入
23 private WebSocketMessageSender webSocketMessageSender; 23 private WebSocketMessageSender webSocketMessageSender;
24 24
25 @Override 25 @Override