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

石家庄模板建站系统做网站空间需要多大

石家庄模板建站系统,做网站空间需要多大,31省本土新增今天,做兽药网站用什么图片好平滑关闭的思路就是让正在执行的任务线程正常执行完毕#xff0c;然后再关闭JVM。在JVM关闭之前触发一个shutdown hook#xff0c;jvm自带这个hook#xff0c;在java启动时候就可以注册这样的hook。 ##1、简述JVM关闭钩子#xff08;shutdown hook#xff09; 首先JVM的关… 平滑关闭的思路就是让正在执行的任务线程正常执行完毕然后再关闭JVM。在JVM关闭之前触发一个shutdown hookjvm自带这个hook在java启动时候就可以注册这样的hook。 ##1、简述JVM关闭钩子shutdown hook 首先JVM的关闭方式可以分为三种 正常关闭当最后一个非守护线程结束或者调用了System.exit或者通过其他特定平台的方法关闭发送SIGINTSIGTERM信号等 强制关闭通过调用Runtime.halt方法或者是在操作系统中直接kill(发送SIGKILL信号)掉JVM进程 异常关闭运行中遇到RuntimeException异常等。 在某些情况下我们需要在JVM关闭时做些扫尾的工作比如删除临时文件、停止日志服务以及内存数据写到磁盘等为此JVM提供了关闭钩子shutdown hooks来做这些事情。另外特别注意的是如果JVM因异常关闭那么子线程Hook本质上也是子线程将不会停止。但在JVM被强行关闭时这些线程都会被强行结束。 另外在使用关闭钩子还要注意以下几点 不能在钩子调用System.exit()否则卡住JVM的关闭过程但是可以调用Runtime.halt()。不能再钩子中再进行钩子的添加和删掉操作否则将会抛出IllegalStateException。在System.exit()之后添加的钩子无效。当JVM收到SIGTERM命令比如操作系统在关闭时后如果钩子线程在一定时间没有完成那么Hook线程可能在执行过程中被终止。Hook线程中同样会抛出异常如果抛出异常又不处理那么钩子的执行序列就会被停止。 ##2、 ActiveMQ消费者的钩子 先讲一下我的消费者整体情况 1、使用Spring集成ActiveMQ用Spring容器进行bean的管理 2、用DefaultMessageListenerContainer来监听处理队列里的消息 直接贴代码 //消费者是普通的java工程通过这个类的main方法启动这里只贴出main函数里的代码 public static void main( String[] args ) {log.info(start APP......);ApplicationContext context new ClassPathXmlApplicationContext(classpath:spring/applicationContext.xml);//testContainer是在配置文件中配置的监听器final DefaultMessageListenerContainer container (DefaultMessageListenerContainer)context.getBean(testContainer);Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {public void run() {System.out.println(-------------------- 消费者JVM即将关闭执行清场操作 --------------------);//关闭线程池等待线程池积压消息处理container.shutdown();System.out.println(-------------------- 消费者关闭线程池处理完毕 --------------------);//不要在钩子里面执行System.exit调用halt()是可以正常关闭系统的但是貌似没这个必要//Runtime.getRuntime().halt(0);}})); }为了可以更直观的看到这个等待任务线程处理完的一个过程在任务线程里添加sleep代码。 public class TestMessageListener implements SessionAwareMessageListener {public void onMessage(Message message, Session session) {if (message instanceof TextMessage) {TextMessage textMsg (TextMessage) message;try {Thread.sleep(1000L);System.out.println(Thread.currentThread().getName() ,接收到一个纯文本消息,消息内容是 textMsg.getText());} catch (JMSException e) {e.printStackTrace();}catch (InterruptedException e) {e.printStackTrace();}}} }运行结果如下 ##3、 关闭消费者 关闭消费者的时候也很重要不要使用kill -9的方式来杀进程这是无脑杀。 ref 深入JVM关闭与关闭钩子JAVA虚拟机关闭钩子(Shutdown Hook)Java消息队列任务的平滑关闭使用后台进程和 Shutdown Hook 友好地关闭 Tomcat
http://www.zqtcl.cn/news/248138/

相关文章:

  • 鹤壁网站建设智能网站建设步骤
  • 建设工程规划许可证在哪个网站查询手机免费推广软件
  • 微信上的网站怎么做的吗网页设计结果分析怎么写
  • 网站电子备案哪个网站做网销更好
  • 做电子商务网站需要什么软件西北舜天建设有限公司网站
  • 怎么做门淘宝网站建筑模板厂
  • 纯静态网站开发做面食的网站
  • 网站海外推广服务wordpress 分类编号
  • 按月网站建设wordpress关闭主题
  • 网站建设设计官网网站为什么做优化ppt
  • 搭配网站开发的开题报告linux服务器做网站
  • 如何做公司网站点击率高电商网站哪家做的好
  • 网站提供什么服务少儿英语做游戏网站推荐
  • 用jsp做网站的体会在哪个网站做一照一码
  • 元典科技网站建设可视化网站制作
  • 网站首页尺寸做电影下载网站赚钱
  • 福州企业网站开发宁德市医院东侨院区
  • 昭通公司做网站ps在线网页版
  • 做阿里巴巴网站费用吗深圳市企业名录
  • 做仿牌网站被封动态公司网站设计
  • 怎么用flashfxp上传网站ui设计需要学哪些课程
  • 片头网站一个主机放多个网站
  • 商城网站一般建设的宽度网站开发图标
  • 做名片哪个网站可以找win7优化大师免安装版
  • 建筑网库网络优化的基本方法
  • 汕头市品牌网站建设公司做外贸那个网站比较好
  • 网站的好坏wordpress 页面制作
  • 成都网站建设熊掌号WordPress模板博客主题
  • 西宁网站建设有限公司个人建站提供软件下载
  • 商丘哪里教做网站的绵阳市三台县城乡建设局网站