有一份struts+spring+hibernate的程序,连接池使用proxool,使用tomcat做WEB服务器。因为业务需求,这个程序要独立运行很多份。我现在的做法是把程序复制很多份,在server.xml中加入多个context,分别指向相应的位置。因为使用了很多第三方jar,我把lib下的jar文件放到了tomcat的lib下面,多份程序共用这些jar。但因为程序本身的类比较多,有二千多个类,一千多(接近两千)个jsp。我现在跑两个context能跑起来,跑三个的时候,启动时就报错,错误大致如下:OutOfMemoryError: PermGen space,不知如何是好。我想把classes下面的类也打成jar包放在tomcat的lib下面去,多份程序共用这些classes,但是这样做proxool不能正常工作,说连接池别名有冲突,可能是因为这些程序都会创建一个连接池,因程序相同,连接池的名字也一样。如果在一台两G的电脑上只能跑两个程序,那我们的投资就大了,因为有可能要运行十多个这样的程序,这得要多少服务器啊。这些相同的程序是否可以共用一个连接池?怎么做?
对于这种需求有没有更好的解决办法?
在这里发贴,还希望各位大大不吝赐教!
谢谢!
对于这种需求有没有更好的解决办法?
在这里发贴,还希望各位大大不吝赐教!
谢谢!
解决方案 »
- jbpm4.3:executionService.signalExecutionById()与taskService.completeTask()有何异同?
- 最近WEBWORK2老报这个错,郁闷,本地测试都没这个问题
- 急急急!! java应用程序中如何获取浏览器的代理信息! 高手进!! 在线等!!! 高手进!!!
- 页面每次加载时,都要取7、8个字典表,如何更有效的提高页面加载速度?
- 怎样判断jsp自定义标签是jsp页面中的第一个该名称的自定义标签?
- B/S模式下如何把后台的html文件批量的在前台打印
- jsp书籍
- js生成Excel 如何设置 文件名称
- 关于iframe 的按钮的问题
- GBK字符集
- 求助:struts中html表单提交到ActionForm中中文乱码问题
- 求救:关于用jstl判断null的问题
改写使用框架的代码非常麻烦,要按照框架的要求来弄.
用你那2000多类的大程序先加载个小应用做连接池调试看看,配置好了后在换大的
下面有 maximum memory pool 最大内存
补充一下,我测试的服务器有两G内存。我在tomcat5w的java选项卡中,设置了Initial memory pool为1024MB,Maximum memory pool为1280MB。剩下的内存留给操作系统和sql server 2005了。
但就这样,也跑不动三个context(跑两个可以)。