diff --git a/ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteMessageServiceStub.java b/ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteMessageServiceStub.java new file mode 100644 index 00000000..813fba63 --- /dev/null +++ b/ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteMessageServiceStub.java @@ -0,0 +1,38 @@ +package org.dromara.resource.api; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * 消息服务 + * + * @author Lion Li + */ +@Slf4j +@RequiredArgsConstructor +public class RemoteMessageServiceStub implements RemoteMessageService { + + private final RemoteMessageService remoteMessageService; + + /** + * 发送消息 + * + * @param sessionKey session主键 一般为用户id + * @param message 消息文本 + */ + public void sendMessage(Long sessionKey, String message) { + try { + remoteMessageService.sendMessage(sessionKey, message); + } catch (Exception e) { + log.warn("websocket 功能未开启或服务未找到"); + } + } + + public void publishAll(String message) { + try { + remoteMessageService.publishAll(message); + } catch (Exception e) { + log.warn("websocket 功能未开启或服务未找到"); + } + } +} diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java index 780b0b40..7b293a82 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java @@ -65,7 +65,7 @@ public class TokenController { private final RemoteClientService remoteClientService; @DubboReference private final RemoteSocialService remoteSocialService; - @DubboReference + @DubboReference(stub = "true") private final RemoteMessageService remoteMessageService; /** @@ -97,10 +97,7 @@ public class TokenController { Long userId = LoginHelper.getUserId(); scheduledExecutorService.schedule(() -> { - try { - remoteMessageService.sendMessage(userId, "欢迎登录RuoYi-Cloud-Plus微服务管理系统"); - } catch (Exception ignored) { - } + remoteMessageService.sendMessage(userId, "欢迎登录RuoYi-Cloud-Plus微服务管理系统"); }, 3, TimeUnit.SECONDS); return R.ok(loginVo); }