0
在我每次重新部署应用程序时,都会保留旧的webclassloader,因为存在由休眠启动的称为Timer-0的阻塞线程。 我试着用YourKit分析堆转储,但仍有几个thousend类仍在加载,我很难弄清楚什么是阻塞类加载器。清除Tomcat中Grails应用程序的取消部署
这给我留下了几个问题:
如何查找类加载器无法卸载的原因是什么?
是否有最佳做法来确保在不重新启动容器的情况下完全卸载所有内容?
在此先感谢!
UPDATE
样品数据源:
dataSource {
pooled = true
driverClassName = "org.postgresql.Driver"
dialect = "org.hibernate.dialect.PostgreSQLDialect"
username = "xx"
password = "xx"
configClass = DdlFilterConfiguration
properties {
maxActive = 250
maxIdle = 25
minIdle = 1
initialSize = 10
maxWait = 10000
validationQuery = "select 1 "
validationQueryTimeout = 3
validationInterval = 15000
testOnReturn = true
testWhileIdle = true
testOnBorrow = true
minEvictableIdleTimeMillis = 60000
timeBetweenEvictionRunsMillis = 5000
}
}
不可以,重新启动容器。 :/ –
我已经使用Tomcat 7和Grails成功完成了并行部署。这就像没有任何停机时间的重新部署。 – Joe
你如何做你的数据库连接池? – Joe