求救过年回来后运行的程序出问题了,Proxool数据库连接池抛出的错误?

liuzhengkang 2009-02-01 07:32:00
忧闷啊!程序从1月23号运行到1月30号左右就出错了,

在网上找了很多,但没找到原因,希望各位高手帮帮忙,谢谢了!

抛出的错误如下:

Feb 1, 2009 6:30:58 PM org.logicalcobwebs.proxool.Prototyper sweep
SEVERE: Prototype
org.logicalcobwebs.proxool.ProxoolException: Unexpected prototyping problem
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java
:229)
at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java
:44)
Caused by: java.lang.OutOfMemoryError: Java heap space

Feb 1, 2009 6:34:38 PM org.logicalcobwebs.proxool.Prototyper sweep
SEVERE: Prototype
org.logicalcobwebs.proxool.ProxoolException: Unexpected prototyping problem
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java
:229)
at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java
:44)
Caused by: java.lang.OutOfMemoryError: Java heap space

Feb 1, 2009 6:34:39 PM org.logicalcobwebs.proxool.Prototyper sweep
SEVERE: Prototype
org.logicalcobwebs.proxool.ProxoolException: Unexpected prototyping problem
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java
:229)
at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java
:44)
Caused by: java.lang.OutOfMemoryError: Java heap space


Proxool连接池的配置如下:
jdbc-0.proxool.alias=stock2
jdbc-0.proxool.driver-url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=stock2
jdbc-0.proxool.driver-class=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc-0.user=sa
jdbc-0.password=ba123
jdbc-0.proxool.house-keeping-sleep-time=10000
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
jdbc-0.proxool.maximum-connection-count=400
jdbc-0.proxool.simultaneous-build-throttle=300
jdbc-0.proxool.minimum-connection-count=6
jdbc-0.proxool.maximum-active-time=60000
jdbc-0.proxool.verbose=true
jdbc-0.proxool.trace=true
jdbc-0.proxool.fatal-sql-exception=Fatal error
jdbc-0.proxool.prototype-count=2


...全文
997 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuzhengkang 2009-02-07
  • 打赏
  • 举报
回复
谢谢楼上的,这样设置也没用啊,当用户数量达到1000多个的时候就出错了!
zhangpeixv 2009-02-07
  • 打赏
  • 举报
回复
呵呵
要是你有了什么好的解决方案记得贴出来啊
我现在就老是担心我的程序会在出问题呢
reality 2009-02-03
  • 打赏
  • 举报
回复
用 sql的查询分析器 看看
liuzhengkang 2009-02-03
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 CAYU 的回复:]
推荐不要使用 Proxool连接池 ,用c3p0连接池看看
[/Quote]
网上很多人用Proxool,我也不知道那个比较好啊,搞的我好晕!!
zhangpeixv 2009-02-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liuzhengkang 的回复:]
引用 2 楼 whlusha720 的回复:
是内存溢出吧
重启服务器试下

不是吧,那不是要每运行了一个星期就重启一次?

内存是8G的了,不能再加了。系统是windows server 2003,数据库是sql server 2005
[/Quote]

我说的是加大服务器使用的内存(如tomcat),服务器所使用的内存是可以设置的
环境变量
变量名:JAVA_OPTS
变量值:-Xms150m -Xmx150m
而且这个值是经验值,太大或太小都不好啊,具体的你需要再查一下
我也遇到过这种情况,尝试了这个方法,客户那边还没有反馈,起码到现在半个多月了还好
ZJ159 2009-02-02
  • 打赏
  • 举报
回复
ding
jspxnet 2009-02-02
  • 打赏
  • 举报
回复
推荐不要使用 Proxool连接池 ,用c3p0连接池看看
liuzhengkang 2009-02-02
  • 打赏
  • 举报
回复
不好意思,习惯了按回车键,竟然发了这么多,自己也删除不了;

程序中的Con资源,我都是这样用的:
try{
con = gc.getConn();
}catch(Exception e){
e.printStackTrace();
}

try {
。。。。。。。。
。。SQL语句。。
} catch (SQLException e) {
e.printStackTrace();
}finally{
close(rs,pstmt,con);
}
应该不存在资源没有关闭的问题啊
liuzhengkang 2009-02-02
  • 打赏
  • 举报
回复

liuzhengkang 2009-02-02
  • 打赏
  • 举报
回复

程序中的Con资源,我是这样用的:


会不会是下面2个参数设的太大啊
jdbc-0.proxool.maximum-connection-count=400
jdbc-0.proxool.simultaneous-build-throttle=300
chen2319 2009-02-02
  • 打赏
  • 举报
回复
在程序设计的时候,得考虑内存的泄露,尤其是长时间运行的程序,就怕一点一点的吃内存。。。
reality 2009-02-02
  • 打赏
  • 举报
回复
查代码吧 内存泄露和所说的8个G没多大关系
jinhuiyu 2009-02-02
  • 打赏
  • 举报
回复
这个归根到底还是代码的问题,代码里面有很多没有办法释放的引用,加内存也只是延长内存溢出的时间
weblogic有一篇指导性的文章,针对所有问题服务器都管用
https://support.bea.com/application_content/product_portlets/support_patterns/wls/InvestigatingOutOfMemoryMemoryLeakProblemsPattern.html+weblogic+out+of+memory&hl=en&ct=clnk&cd=1&gl=us
可以根据上面提供的步骤进行检测

服务器重启也是上面提供的权益方法之一
corey85 2009-02-01
  • 打赏
  • 举报
回复
.....重启原来可以解决这么多问题....
liuzhengkang 2009-02-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 whlusha720 的回复:]
是内存溢出吧
重启服务器试下
[/Quote]
不是吧,那不是要每运行了一个星期就重启一次?

内存是8G的了,不能再加了。系统是windows server 2003,数据库是sql server 2005
liuzhengkang 2009-02-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 whlusha720 的回复:]
是内存溢出吧
重启服务器试下
[/Quote]
不是吧,那不是要每运行了一个星期就重启一次?

内存是8G的了,不能再加了。系统是windows server 2003,数据库是sql server 2005
zhangpeixv 2009-02-01
  • 打赏
  • 举报
回复
内存溢出的话
可以尝试加大一下内存
whlusha720 2009-02-01
  • 打赏
  • 举报
回复
是内存溢出吧
重启服务器试下
JamesLiu 2009-02-01
  • 打赏
  • 举报
回复
不懂,先顶一个

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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