编写版本:v3.5.7
适用版本:v3.5.7+配置或修改scoket支持
工程iform-response中的:
application-dev-socket.yml
application-test-socket.yml
application-cloud-socket.yml
application-prod-socket.yml
application-optimize-socket.yml
application-saas-test-socket.yml
application-saas-prod-socket.yml
socket:
  enabled: ${SOCKET_ENABLED:true} #true:支持,false:不支持
  port: 5888 #端口
  reconnect-max-num: 5新服务中增加socket配置
application-dev.yml
application-test.yml
application-cloud.yml
application-prod.yml
application-optimize.yml
application-saas-test.yml
application-saas-prod.yml
spring:
  profiles:
    include: dev-base,dev-nacos,dev-socket注:dev-socket中的dev是根据工程iform-response中的配置来的,比如测试环境为:test-socket
新服务引入socket包
  <dependency>
       <groupId>com.ak.iform.cloud.base</groupId>
       <artifactId>iform-comp-socket-api</artifactId>
  </dependency>新服务启动类修改
增加引入:
    @Autowired
    private Environment env;继承AbstractBasicCommandLineRunner类,实现其ext()方法:
    @Override
    protected void ext() {
        renewalSystemExpriedTime();
        NewsHelper.handleExpiredNews(env);
    }
    private void renewalSystemExpriedTime() {
        long period = EnvUtil.getProperty(env, "auto.renewal.system.expried.time.interval", Long.class, 480L);
        Function<Void, Void> execution = new Function<Void, Void>() {
            @Override
            public Void apply(Void t) {
                IHandlerValidator<UniqueHandlerValidation> uniqueHandlerValidator = null;
                try {
                    String key = "platform.auto.renewal.system.expried.time";
                    uniqueHandlerValidator =
                            HandlerValidationUtil.createUniqueHandlerValidator(key, "renewal", null, null);
                    HandlerValidationErrors errors = uniqueHandlerValidator.validate(key);
                    if (null != errors && errors.hasError()) {
                        return null;
                    }
                    ContextUtil.setCurrentUri("/auth/client/save");
                    ContextUtil.setCurrentUserIp(AppUtil.getProperty("spring.cloud.client.ip-address"));
                    AuthClient authClient = AppUtil.getBean(AuthClient.class);
                    authClient.renewalSystemExpriedTime();
                } catch (Exception e) {
                    if(LOGGER.isWarnEnabled()) {
                        LOGGER.warn(e.getMessage(), e);
                    }
                } finally {
                    HandlerValidationUtil.processAfterInvoke(uniqueHandlerValidator);
                }
                return null;
            }
        };
        ScheduledUtil.createAndRunningScheduledThreadPoolExecutor(1, "auto-renewal-system-expried-time", 1L, period,
                TimeUnit.MINUTES, execution);
    }调用方式
//发送webSocket消息
                PushSocketMessageVo vo = SocketMessageUtil.createPushSocketMessageVo(toUserId, fromUserId, type, body, expandVo);
                SocketMessageUtil.pushSomebodiesMessage(vo);作者:caoyl  创建时间:2024-01-31 16:59
最后编辑:caoyl 更新时间:2025-11-04 15:32
最后编辑:caoyl 更新时间:2025-11-04 15:32