亲,这个问题怎么解决啊?

Call Next 2012-01-06 03:25:09
请问一下 想在Tomcat关闭之前把内存里面的数据序列化出来,这个应该怎么做?

问题是在那个环节上调用序列化功能?
...全文
156 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Call Next 2012-01-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wangxvwang 的回复:]
哈哈 解决了 感谢大家
用了一个ServletContextListener监听器,只要是正常停止服务器就可以在contextDestroyed这个方法里面取出内存数据,在下次启动的时候再在自己的启动线程里面反序列化到队列里面就可以了
[/Quote]
因为我要的是服务器关闭那一瞬间的所有数据,定时写入不是我想要的
Call Next 2012-01-07
  • 打赏
  • 举报
回复
哈哈 解决了 感谢大家
用了一个ServletContextListener监听器,只要是正常停止服务器就可以在contextDestroyed这个方法里面取出内存数据,在下次启动的时候再在自己的启动线程里面反序列化到队列里面就可以了
半个鼠标 2012-01-06
  • 打赏
  • 举报
回复
2楼说的可以,3楼说的对于一个对象还可以,但是现在是tomcat服务器的关闭,似乎不行,个人愚见。
可以用application做,但是也如4楼说的,强行关闭似乎看不到效果。建议服务已开启的时候就运行一个timer,运行一个任务,这样任务就是你保存数据的代码。你设置他没隔多久保存一次。避免强制关闭服务是数据没保存
MiceRice 2012-01-06
  • 打赏
  • 举报
回复
2楼说的对。但是如果系统是被强制关闭的,那么就得不到任何东西了。

所以楼主你的需求没有可靠性很高的方案。应该在关闭前就注意保存数据,可以增量。
anhy 2012-01-06
  • 打赏
  • 举报
回复
正常关闭的应该会调用对象的 finalize() 方法,可以Override该方法
狼迹天涯 2012-01-06
  • 打赏
  • 举报
回复
试一下在application上做监听处理
《深入浅出 C++》视频教程详细、系统地介绍了 C++ 开发中方方面面的技术细节,整个课程涵盖知识点非常多,知识模块囊括 名字空间、类与对象、继承与多态、各类友元、异常机制、函数模板、类模板、STL容器操作等等,学完之后将拥有C++开发的非常坚实的功底。 注意:本套视频教程来源于线下的实体班级,因此视频中有少量场景对话和学生问答,对此比较介意的们谨慎购买。 本套视频教程不仅会讲清楚概念和相应知识点,而且会抽丝剥茧,讲清楚来龙去脉,站在编程语言设计者的角度讲清楚为什么会出现这样的语法,站得高才能看得远,而不仅仅纠缠于细碎的语法。既有登高望远的视角,又有俯身前行的实践,有别于市面上大多数流于表面的教程。下面是讲解迭代器的一节视频的截图: 每个知识点不仅仅会通过视频讲解清楚,并且会配以精心安排的实验和作业,用来保证学习过程中切实掌握核心技术和概念,通过实验来巩固,通过实验来检验,实验与作业的目的是发现问题,发现技术盲点,通过答疑和沟通夯实技术技能。注意:本套视频教程包含全套11套作业题,覆盖所有视频知识点,循序渐进,各个击破。下面是部分作业题目展示,每道题都有知识点说明,是检验学习效果的一大利器:常见问题:问:零基础可以学习吗?答:这门课程并非针对完全零基础的学员,学习这门课程需要对C语言有了一定了解的。问:遇到问题可以答疑吗?答:可以的,购买课程后可以联系到我,安排进入专门的QQ答疑群。不仅可以向老师提问,也可以跟其他同学讨论,结交兴趣相投的朋友。问:学完能做什么?答:C++是众多开发岗位的必备技能,也是进入面向对象编程领域的一门利器,可以胜任很多岗位的职业要求。尤其是对游戏开发、游戏引擎、算法、界面开发、系统开发等等,C++都是热门技术。

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧