当前位置: 首页 > news >正文

广州 网站制作公司 网络服务龙江人社使用方法

广州 网站制作公司 网络服务,龙江人社使用方法,网站上的付费文章怎么做,免费做简历的app一、目的 服务发生线程锁住#xff0c;需要下线服务时#xff0c;保证请求中的接口不受影响#xff0c;执行完后#xff0c;再下线服务 二、步骤 *kill -15时执行改钩子函数 优雅停机 1.当线程锁住 2.运维那边监控到#xff0c;然后进行kill -15 进程ID 3.代码这边监…一、目的 服务发生线程锁住需要下线服务时保证请求中的接口不受影响执行完后再下线服务 二、步骤 *kill -15时执行改钩子函数 优雅停机 1.当线程锁住 2.运维那边监控到然后进行kill -15 进程ID 3.代码这边监听到关闭信号先把容器权重设置为0不允许新的请求进来. 4.然后为了保住容器其他请求中的接口不受影响进行睡眠30s再关闭容器 三、代码实现 package com.dst.XXX.XXX;import com.alibaba.cloud.nacos.NacosDiscoveryProperties; import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.PropertyKeyConst; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; import com.dst.steed.common.util.DstSpringUtil; import com.dst.steed.rabbit.annotation.SteedAmqpScan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.util.StopWatch;import javax.annotation.Resource; import java.text.DecimalFormat; import java.util.List; import java.util.Optional; import java.util.Properties;import static com.dst.lcb.base.DstSteedLcbBaseService.PACKAGE_NAME;/*** 服务启动** author LWP* since 2024/08/20*/ Slf4j SpringBootApplication(scanBasePackages {PACKAGE_NAME}) EnableFeignClients(basePackages PACKAGE_NAME .infrastructure.acl) MapperScan(basePackages {PACKAGE_NAME .infrastructure.biz.**.mapper, PACKAGE_NAME .modules.mapper,generator.mapper}) SteedAmqpScan(basePackage PACKAGE_NAME .infrastructure.mq) public class DstSteedXXXXService implements CommandLineRunner, ApplicationContextAware {public static final String PACKAGE_NAME com.dst.XXX.XXX;Autowiredprivate ConfigurableApplicationContext applicationContext;Resourceprivate NacosDiscoveryProperties nacosDiscoveryProperties;public static void main(String[] args) {StopWatch stopWatch new StopWatch();stopWatch.start();SpringApplication.run(DstSteedLcbBaseService.class, args);stopWatch.stop();log.info(【服务 DstSpringUtil.getAppName() 环境 DstSpringUtil.getActiveProfile() 】启动成功耗时 new DecimalFormat(#.##).format(stopWatch.getTotalTimeSeconds()) 秒。);}/*** kill -15时执行改钩子函数 优雅停机* 1.线程锁住* 2.运维那边监控到然后进行kill -15 进程ID* 3.代码这边监听到关闭信号先把容器权重设置为0不允许新的请求进来.* 4.然后为了保住容器其他请求中的接口不受影响进行睡眠30s再关闭容器*/Overridepublic void run(String... args) {log.info(启动成功 !);Runtime.getRuntime().addShutdownHook(new Thread(() - {log.info(收到服务关闭信号);stop();try {log.info(睡眠30秒);Thread.sleep(30000);} catch (InterruptedException e) {throw new RuntimeException(e);}applicationContext.close();}));}private void stop() {try {Properties properties new Properties();properties.put(PropertyKeyConst.NAMESPACE, nacosDiscoveryProperties.getNamespace());properties.put(PropertyKeyConst.SERVER_ADDR, nacosDiscoveryProperties.getServerAddr());NamingService namingService NacosFactory.createNamingService(properties);String serviceName nacosDiscoveryProperties.getService();ListInstance instanceList namingService.getAllInstances(serviceName);OptionalInstance currentInstance instanceList.stream().filter(instance - instance.getIp().equals(nacosDiscoveryProperties.getIp())).findFirst();currentInstance.ifPresent(instance - {log.info(找到当前服务实例: {}, instance);instance.setWeight(0);try {namingService.registerInstance(serviceName, instance);log.info(Nacos 服务权重已设置为 0);} catch (NacosException e) {log.error(设置 Nacos 服务权重时发生错误, e);}});} catch (NacosException e) {log.error(获取 Nacos 命名服务时发生错误, e);}}Overridepublic void setApplicationContext(ApplicationContext applicationContext) {if (applicationContext instanceof ConfigurableApplicationContext) {this.applicationContext (ConfigurableApplicationContext) applicationContext;}}}
http://www.w-s-a.com/news/747680/

相关文章:

  • 网站后台管理系统的重要技术指标wordpress下单邮件通知的实现
  • 通化县住房和城乡建设局网站定制网站收费
  • 湖北做网站教程哪家好成都网站建设询q479185700上快
  • 网站的seo方案鹰潭做网站的公司
  • 高级室内设计网站太原网站设计费用
  • 智信建设职业培训学校网站深圳做网站建设开发
  • 宣城市住房和城乡建设局网站网站界面设计专利
  • 免费个人网站建站申请如何做内网网站
  • 福州专业网站建设怎么做黄骅港怎么读
  • 望京 网站建设深圳发型网站建设
  • 电商网站的相同点医疗网站建设代理商
  • 网址导航网站有哪些易营宝智能建站
  • 私人定制哪个网站做的比较好免费网站使用
  • 嘉兴网站建设系统免费的seo优化
  • 购书网站开发的意义网站建设接单渠道
  • 网站站内搜索怎么做wordpress默认主题修改
  • 网站推广的表现方式交网站建设 域名计入什么科目
  • 龙岗南联网站建设公司江门市
  • 网站运行方案设计平台模式
  • 网站加入wordpress邳州城乡建设局网站
  • 两个网站如何使用一个虚拟主机东莞市网站seo内容优化
  • 湖南网站建设公司排名傲派电子商务网站建设总结
  • 网站建设求职要求互联网挣钱项目平台
  • 网站权重怎么做做黑彩网站能赚钱吗
  • 三台建设局网站网页设计购物网站建设
  • thinkphp大型网站开发市场调研公司招聘
  • 天宁区建设局网站七冶建设集团网站 江苏
  • 越南网站 后缀湘潭新思维网站
  • 环球旅行社网站建设规划书网钛cms做的网站
  • 软件资源网站wordpress不能识别语言