做聊天室干嘛要有数据库啊,存application不就可以吗?
用数据库当然会死掉了.如果并发数一多,机器都死掉啊!

解决方案 »

  1.   

    登陆后提取客户资料放入Cookie,接下来把聊天内容放在Application中!记得一定要即时释放聊天内容!比如放到一个文本文件加已保存!
      

  2.   

    用tomcat就是不稳定。就像这里样。。有时好慢D~~ 改用weblogic算了。不过像你搞聊天室的话,还真没必要用到这么多数据库
      

  3.   

    大概原因是产生过多的Connection,但在每个网页的最下面我的确是把Connection给关闭了阿,真是搞不明白
      

  4.   

    原因应该是这样:connection来不及关闭,你应该把关闭connection的语句包含在finally中,以确保关闭,另外关闭connection最好写在javabean中。
    另外,来不及关的原因是由于用户并发数多了,所以页面还没来得及执行到<%oDB.killConn(conn);%>,致使connection关闭不了。可以照我前面的方法修改一下,并把连接池数量稍微调大一点,还有一个办法,让用户访问页面时,稍微延迟一点时间(1、2秒)。
      

  5.   

    这样的:你的toccate应该是内存溢出死掉的。
    你的Connection虽然关掉了,但是你每分钟实例化一个jsp以及一个oracleDB类,连接关掉后,这个类的实例所占用的资源并未及时释放,等待虚拟机的垃圾收集机制来收集。但是你20多个用户高强度的实例化数据连接类,到一定的时候虚拟机的垃圾收集器会进入一个瓶劲,就会死掉。
    你的oracleDB类不应该写在jsp里(这样它会被当作servlet挂接在系统缓存里),而应该写成一个javaBean,并且使用singleton模式。
    像你现在这种写法,用别的任何服务器也会迟早死掉的,时间早晚而已。
      

  6.   

    应该用session及Application的模式来设计初始化及释放前,放在jsa文件中,这样可以早于在WEB浏览器中提请!