自定义启动类:demo
1 首先自定义启动类 没有考虑 优雅关机等问题。
必须在虚拟机上面的一个子业务启动要跑个几十秒,这时你要杀死这个业务进程 keii -9 ***(强杀) 此时可能会造成数据丢失等。
2 建议使用dubbo框架再带的main方法 注意 杀死业务进程时 kill-9 **不会启动优雅关机, 使用kill **可以
dubbo 是通过jdk的shutdownHook来完成优雅关机的。
原理: 服务提供方
1 停止时,先标记为不接受新的请求,新请求过来时直接报错,让客户端重试其他机器。
2 然后,检测线程池中的线程是否正在运行,如果有,等待所有线程执行完成,除非超时,则强制关闭
服务消费方
1 停止时,不在发起新的调用请求,所有的新的调用的客户端即报错
2 然后,检测没有请求的相应还没有返回,等待相应返回,除非超时,则强制关闭
设置优雅停机超时的时间,缺省超时时间是10s
那怎么来做呢?
1 首先maven本来就是一个项目管理工具。
2 你的maven工程首先构建一个jar包。
maven pom文件中 :