目前的情况就是web工程连续运行大概一两天,再登陆该工程的时候,提示rollback,然后就必须重新启动数据库服务后才能正确运行,web工程中没有使用连接池。
5 个解决方案
#1
mysql连接数太多,导致数据库崩溃。rs,conn连接之后一定要关闭。
#2
数据库链接资源该怎么优化?
在页面里要连接数据库进行查询,将取得的结果显示在页面上,在每次查询后都用close关闭了连接的。平时的显示正常,在数据库中可以监视得到,创建了一个连接后,查询完了后很快就释放了,但是在一次查询还没完时,如果在浏览器上很快的按F5刷新页面,数据库的连接会不停的增加,而原来的连接释放很慢,很快就把数据库拖死了。采用连接池也只能限制总的连接数,如果一个人很快的不停的刷新,数据库不会死了,但很快一个人就把资源用完了,应用被拖死.
解决办法:
不要把连结建在BEAN中,应该写在一个类的静态方法中,然后作为参数传过去,使每个调用的人都使用同一静态连结.在连结的BEAN中首先看那个静态的连结是否是null,如果不是,就直接引用,如果是就重新建立这个连结.
在页面里要连接数据库进行查询,将取得的结果显示在页面上,在每次查询后都用close关闭了连接的。平时的显示正常,在数据库中可以监视得到,创建了一个连接后,查询完了后很快就释放了,但是在一次查询还没完时,如果在浏览器上很快的按F5刷新页面,数据库的连接会不停的增加,而原来的连接释放很慢,很快就把数据库拖死了。采用连接池也只能限制总的连接数,如果一个人很快的不停的刷新,数据库不会死了,但很快一个人就把资源用完了,应用被拖死.
解决办法:
不要把连结建在BEAN中,应该写在一个类的静态方法中,然后作为参数传过去,使每个调用的人都使用同一静态连结.在连结的BEAN中首先看那个静态的连结是否是null,如果不是,就直接引用,如果是就重新建立这个连结.
#3
这是没有适当释放内存的结果。
#4
留名!按LS的说法我去找找目前项目中是否存在这个问题。
以前碰到好几个系统类似这样的情况,我也觉得很怪。
以前碰到好几个系统类似这样的情况,我也觉得很怪。
#5
我把rs,con都在finally中关掉,整个工程就都运行不起来了。而且我关掉其中一个con,整个工程全部与数据库读出相关的操作就都失败了,提示是该页无法显示。
#1
mysql连接数太多,导致数据库崩溃。rs,conn连接之后一定要关闭。
#2
数据库链接资源该怎么优化?
在页面里要连接数据库进行查询,将取得的结果显示在页面上,在每次查询后都用close关闭了连接的。平时的显示正常,在数据库中可以监视得到,创建了一个连接后,查询完了后很快就释放了,但是在一次查询还没完时,如果在浏览器上很快的按F5刷新页面,数据库的连接会不停的增加,而原来的连接释放很慢,很快就把数据库拖死了。采用连接池也只能限制总的连接数,如果一个人很快的不停的刷新,数据库不会死了,但很快一个人就把资源用完了,应用被拖死.
解决办法:
不要把连结建在BEAN中,应该写在一个类的静态方法中,然后作为参数传过去,使每个调用的人都使用同一静态连结.在连结的BEAN中首先看那个静态的连结是否是null,如果不是,就直接引用,如果是就重新建立这个连结.
在页面里要连接数据库进行查询,将取得的结果显示在页面上,在每次查询后都用close关闭了连接的。平时的显示正常,在数据库中可以监视得到,创建了一个连接后,查询完了后很快就释放了,但是在一次查询还没完时,如果在浏览器上很快的按F5刷新页面,数据库的连接会不停的增加,而原来的连接释放很慢,很快就把数据库拖死了。采用连接池也只能限制总的连接数,如果一个人很快的不停的刷新,数据库不会死了,但很快一个人就把资源用完了,应用被拖死.
解决办法:
不要把连结建在BEAN中,应该写在一个类的静态方法中,然后作为参数传过去,使每个调用的人都使用同一静态连结.在连结的BEAN中首先看那个静态的连结是否是null,如果不是,就直接引用,如果是就重新建立这个连结.
#3
这是没有适当释放内存的结果。
#4
留名!按LS的说法我去找找目前项目中是否存在这个问题。
以前碰到好几个系统类似这样的情况,我也觉得很怪。
以前碰到好几个系统类似这样的情况,我也觉得很怪。
#5
我把rs,con都在finally中关掉,整个工程就都运行不起来了。而且我关掉其中一个con,整个工程全部与数据库读出相关的操作就都失败了,提示是该页无法显示。