用hibernate竟然会把tomcat“干掉”,真是奇怪

[color=red]问题所在:
用struts1.0+hibernate3.1(mysql数据库)第一次写了一个简单的小网站。解决了很多很多问题后,最后卡在tomcat“崩溃"上。
tomcat启动后,几小时内可以正常运行。但几个小时后,点击连接,或访问主页时,进不去。也不报错,处理36%状况(1%变至38%)不动。。[/color]
这种情况下关闭tomcat,重启tomcat有问题。重启时显示tomcat已启动。


[color=red]运行环境配置[/color]:
运行环境配置
1)apache2.2.4+tomcat5.0.28+redhat9.0+jkd1.5.0_09
2)配置文件如下:
[code]
LoadModule jk_module modules/mod_jk.so

<IfModule mod_jk.c>
JkWorkersFile "/usr/local/apache/conf/workers.properties"
JkLogFile "logs/mod_jk.log"
JkLogLevel warn

#JkMount /jsp-examples worker1
#JkMount /jsp-examples/* worker1
# Map in the Ozibug webapp
JkMount /yahoo/* worker1

</IfModule>

<IfModule mod_limitipconn.c>
<Location /yahoo>
MaxConnPerIP 1000
</Location>
</IfModule>
[/code]

apache的conf下workers.properties配置
[code]
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
[/code]


原因分析与解决尝试:
1)个人认为可以是hibernate连接池有问题.google一下,采用了三个方案(默认,c3p0,proxool)但发现全部有“缺点”(可能还未懂配置的含义)。用proxool出现显示不稳定的情况。用用c3p0连接池,解决了显示不稳定的问题,但使用几个小时后,竟会将tomcat弄“崩溃”。用户不能访问网页。错误消息也看不到。网页进行到38%的时候,竟然不动了。
2)在tomcat不能访问情况下,apache上的php网站仍能正常运行。tomcat问题。把tomcat从5.5.20换成了5.0.28也解决不了问题.


[code]<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<property name="connection.url">
jdbc:mysql://localhost/backup?useUnicode=true&characterEncoding=UTF-8
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">Mysql</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<property name="hibernate.jdbc.fetch_size">50</property>
<property name="hibernate.jdbc.batch_size">25</property>

<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">15000</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.validate">true</property>

<!-- mapping resource="com/voff/News.hbm.xml" /-->
<mapping resource="com/voff/News.hbm.xml" />
<mapping resource="com/voff/User.hbm.xml" />
<mapping resource="com/voff/Comment.hbm.xml" />
<mapping resource="com/voff/Category.hbm.xml" />
<mapping resource="com/voff/Pk.hbm.xml" />
<mapping resource="com/voff/Qa.hbm.xml" />
<mapping resource="com/voff/Logs.hbm.xml" />
</session-factory>

</hibernate-configuration>[/code]

最后感叹一下:
java的开发速度真是折磨人(java菜鸟)。php快捷稳定高效,开发速度又快,真是哀叹。希望自己快点把这个问题解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值