日期:2014-05-18  浏览次数:20709 次

同一服务器运行多个相同的应用,请教!
有一份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的电脑上只能跑两个程序,那我们的投资就大了,因为有可能要运行十多个这样的程序,这得要多少服务器啊。

这些相同的程序是否可以共用一个连接池?怎么做?
对于这种需求有没有更好的解决办法?
在这里发贴,还希望各位大大不吝赐教!
谢谢!


------解决方案--------------------
一个小绿三角搞 "二千多个类,一千多(接近两千)个jsp "的应用,还要 "要运行十多个这样的程序 "


改写使用框架的代码非常麻烦,要按照框架的要求来弄.
用你那2000多类的大程序先加载个小应用做连接池调试看看,配置好了后在换大的
------解决方案--------------------
tomcat\bin\tomcat5w.exe

选项卡 java
下面有 maximum memory pool 最大内存

------解决方案--------------------
关注呀\\\\\\\