当前位置: 代码迷 >> 应用服务器 >> jboss+ hibernate 每日必须重启 ,数据库连接不到CPU占用率超高。解决办法
  详细解决方案

jboss+ hibernate 每日必须重启 ,数据库连接不到CPU占用率超高。解决办法

热度:3606   发布时间:2013-02-26 00:00:00.0
jboss+ hibernate 每日必须重启 ,数据库连接不到CPU占用率超高。
下面是JBOSS启动时的部分日志,请各位帮忙找一下原因,第二天连接数据库时就出问题,必须重新JBOSS才能解决问题。而且CPU使用率达99。9%,内存占用率不高,不足20%,

2007-05-14   09:24:33,769   DEBUG   [org.jboss.system.ServiceController]   starting   service   jboss.mq:service=PersistenceManager
2007-05-14   09:24:34,021   DEBUG   [org.jboss.mq.pm.jdbc2.PersistenceManager]   Starting   jboss.mq:service=PersistenceManager
2007-05-14   09:24:34,024   DEBUG   [org.jboss.mq.pm.jdbc2.PersistenceManager]   Creating   Schema
2007-05-14   09:24:34,027   DEBUG   [org.jboss.mq.pm.jdbc2.PersistenceManager]   Could   not   create   table   with   SQL:   CREATE   CACHED   TABLE   JMS_MESSAGES   (   MESSAGEID   INTEGER   NOT   NULL,   DESTINATION   VARCHAR(255)   NOT   NULL,   TXID   INTEGER,   TXOP   CHAR(1),   MESSAGEBLOB   OBJECT,   PRIMARY   KEY   (MESSAGEID,   DESTINATION)   )
java.sql.SQLException:   Table   already   exists:   JMS_MESSAGES   in   statement   [CREATE   CACHED   TABLE   JMS_MESSAGES]
at   org.hsqldb.jdbc.Util.throwError(Unknown   Source)
at   org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown   Source)
at   org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:227)
at   org.jboss.mq.pm.jdbc2.PersistenceManager.createSchema(PersistenceManager.java:240)

------解决方案--------------------------------------------------------
Mysql(MySQL 4.1) 文档 7.5.2 节
Tuning Server Parameters 里面
在 Mysql控制台下输入 SHOW VARIABLES;
最后一个参数
wait_timeout 28800
如果单位是秒,也就是 8 个小时。
程序最后一次建立连接完毕之后 8 个小时,
Mysql 单方面关闭了这个连接。
但 Hibernate 还在记忆着这个连接基本信息。
程序再次连接的时候,已经不存在了。
  相关解决方案