我们在tomcat 6上运行liferay门户.每个portlet都是一个包含的Web应用程序,因此它包含了portlet本身所需的所有库.我们目前有30多个portlet.结果是我们的tomcat的permgen随着我们部署的每个portlet而增加.
我们现在有两条路可以遵循.将每个portlet通常使用的一些库移动到tomcat共享库.这将包括像spring/hibernate/cxf/....这样的东西来减少我们的permgen大小或更容易增加permgen大小.
第二个选项允许我们将每个portlet保持为自包含的实体.
现在的问题是,增加permgen大小会对性能产生负面影响吗?我们目前的运行速度为512MB.我发现很少甚至没有关于此的信息.但发现一些帖子的人都在谈论以1024MB permgen大小运行而没有问题.
在对我们的应用程序进行负载测试时,我注意到如果你使用@Transactional和@Cacheable注释,那么hibernate总是会创建一个数据库事务.有没有一种简单的方法来防止这种情况?在spring中解决这个问题的一种更为简单的方法是使用以下类/接口
会发生什么是以下情况
致电1:
电话2:
首选结果应为:
致电1:
电话2: