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

个人网站源码下载seo研究中心教程

个人网站源码下载,seo研究中心教程,wordpress从指定目录获取文章,上海建筑设计院是央企吗一、目的 服务发生线程锁住,需要下线服务时,保证请求中的接口不受影响,执行完后,再下线服务 二、步骤 *kill -15时执行改钩子函数 优雅停机 1.当线程锁住 2.运维那边监控到,然后进行kill -15 进程ID 3.代码这边监…

一、目的

  1. 服务发生线程锁住,需要下线服务时,保证请求中的接口不受影响,执行完后,再下线服务

二、步骤

*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();List<Instance> instanceList = namingService.getAllInstances(serviceName);Optional<Instance> 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.yayakq.cn/news/934149/

相关文章:

  • 太原手机网站开发汕尾旅游攻略app跳转网站
  • 最牛html5网站建设网站建设服务器
  • 长春网站建设优化排名wordpress微信机器人下载
  • 网站建设百度贴吧wordpress 中文摘要
  • 海南建设银行官网招聘网站wordpress 4.4 火车头
  • 网站开发源码哪个浏览器可以看禁止访问的网站
  • 数据库怎么做两个网站汽车电子商务网站建设规划书
  • 网站在空间费用什么是网络营销网络营销的方法有哪些
  • 济源市网站建设温州市城乡建设职工中等专业学校官网
  • 宜昌医院网站建设最新的网站建设软件
  • 合肥网站建设卫来科技wordpress评论采集发布
  • 上海网站设计费用网站开发技术职责
  • 企业软件网站建设怎么给网站添加站点统计
  • wordpress建自己的网站吗分析海报的网站
  • 有没有做企业网站的深圳网络科技公司大全
  • 帮别人备案网站吗热门传奇网页游戏排行榜
  • 网站的安全维护wordpress 输出array
  • 志愿者网站 建设方案网站建设需要ui吗
  • asp网站开发模板seo是什么姓
  • 阿里云官网入口网站优化站外链接怎么做
  • 门户网站开发技术服务合同动画设计属于什么专业类别
  • 做网站后台数据库建设流量对网站排名的影响因素
  • 个人备案网站营业执照在线图片生成网页链接
  • 苏州网站建设流程asp音乐网站开发教程
  • 网站域名空间购买设计公司logo需要注意什么
  • 网站设计首页动态效果怎么做做网站的的报价
  • 做网站推广的网站建设 织梦者
  • 营销型网站建设答辩企业网络推广方案
  • 小区百货店网怎么做网站wordpress 主查询
  • 十大免费ae模板网站网站规划的注意事项