网络在线游戏开发心得(服务器端)(七)
来源:互联网 发布:智慧进销存软件怎么样 编辑:程序博客网 时间:2024/04/30 14:42
bromon原创 请尊重版权
七、启动与退出
为了让系统具备让人满意的性能,应该尽量多的重用对象,减少创建新对象。比如上面提到的消息发送,我们的操作是提供一个静态类,在系统启动的时候就初始化,保持与JMS服务器的连接,系统发送消息的时候,不用再去查询JNDI和生成QueueConnectionFactory,这样可以提高系统响应速度。
在数据库连接池的问题上,我们也采用同样的操作,启动的时候初始化N个连接。但是如果在关闭进程的时候不做任何操作,会导致JMS抛出socket异常,虽然没什么大的影响,但总显得不专业,而且池中的连接不被释放的话,也可能导致问题。最好能够让系统像jboss等控制台程序一样,ctrl+c之后能够执行操作,释放资源再退出。我们可以通过给进程/线程加上一个Hook来实现,windows程序员应该对这个非常熟悉。
Hook应该是一个线程方法,如下:
package org.bromon.games.al;
public class Hook extends Thread
{
public void run()
{
//释放数据库连接,销毁连接池
//关闭与JMS的连接
}
}
在主线程中加入:
Runtime.getRuntime().addShutdownHook(new Hook()) ;
那么进程/线程会在退出的时候执行Hook的run方法,清理资源。
- 网络在线游戏开发心得(服务器端)(七)
- 网络在线游戏开发心得(服务器端)(一)
- 网络在线游戏开发心得(服务器端)(二)
- 网络在线游戏开发心得(服务器端)(三)
- 网络在线游戏开发心得(服务器端)(四)
- 网络在线游戏开发心得(服务器端)(五)
- 网络在线游戏开发心得(服务器端)(六)
- 网络在线游戏开发心得(服务器端)
- 网络在线游戏开发心得(服务器端、Java)
- 网络在线游戏开发心得(服务器端、Java)
- 多人在线游戏开发心得(服务器端)
- 多人在线游戏服务器端开发心得
- 多人在线游戏开发心得(服务器端)
- 多人在线游戏服务器端开发心得
- 网络在线游戏开发心得
- android开发之网络棋牌类在线游戏开发心得(服务器端、Java)
- 网页游戏服务器端开发心得
- 网页游戏服务器端开发心得
- 请教:VS.NET2003安装错误
- 雨霖铃——兄弟情
- 为什么没有老板赚的多?
- xml文件读取
- 有益关键字
- 网络在线游戏开发心得(服务器端)(七)
- SQL完全简明手册 (zz)
- Bentley Geograhic -我的文档
- 完全掌握 Java 中的"包"机制(zt)
- 请编写一个 C 函数,该函数将给定的一个整数转换成字符串
- 成功的程序员
- String类的内部化方法释疑(zt)
- SQL server 2000 for CE 2.0 的安装步骤及方法
- 我要玩玩Python