简体中文
会员名称: 登入密码: [Register] 注册 忘记密码 启用我的帐号
 
同一台机上不能安装两个jforum  XML
论坛首页 »开源项目» JForum论坛
发表人 内容
pinke

[Avatar]

注册时间: 2006-11-18 22:27:35
文章: 919
离线
性别: 男
出生:1982-06-18

今天发现一个问题,在同一台机上运行两个tomcat后,再安装两个jforum会出错.
出错内容都是cache方面,各位有没发现这样的问题?

享我所想,乐你所乐
[MSN] Tencent QQ:44020567
mydb2


注册时间: 2007-04-07 14:00:03
文章: 6
离线

用的是虚拟主机?
michael

[Avatar]

注册时间: 2007-03-06 20:31:08
文章: 78
离线

这个到是没有试过。

欢迎访问 http://www.nokiaforum.com.cn 诺基亚高端论坛
pipo

[Avatar]

注册时间: 2007-03-29 16:14:03
文章: 95
离线

pinke wrote:今天发现一个问题,在同一台机上运行两个tomcat后,再安装两个jforum会出错.
出错内容都是cache方面,各位有没发现这样的问题?


为什么要这样做啊?
如果要在同一机器上起两个端口可以尝试通过tomcat设置来解决,我想tomcat应该支持同时监听两个端口的。

Java EE 软件之道
pinke

[Avatar]

注册时间: 2006-11-18 22:27:35
文章: 919
离线
性别: 男
出生:1982-06-18

安全问题
如果是两个不同的网站,而当任何一个JVM/Tomcat死机时,不会影响另一个网站,同时考虑一个网站不能操作另一网站的目录/文件时,你就得以两个不同用户运行两个不同JVM

使用两个JVM时,JForum好像使用cache是同一个内容,也就是两个网站会发现共用cache的问题.是不是这样具体情况还没深入了研究

这篇文章被编辑了 3 次. 最近一次更新是在 2007-06-19 09:30:39


享我所想,乐你所乐
[MSN] Tencent QQ:44020567
goyo


注册时间: 2007-06-07 11:52:15
文章: 10
离线

论坛老大的帖子一定要响应一下

运行两个tomcat应该不会造成cache出错,因为使用两个不同的jvm实例。
jforum的cache是一个静态对象,也就是说一个jvm只有一个实例,按照jforum老大的说法,cache出错的原因有可能是因为JForumBaseServelet(大概这个名字,懒得查了)是JForum和JForumInstall(大概这个名字吧)共同的基类,而JForumBaseServelet有初始化cache的操作,而tomcat加载JForum应用时如果先加载JForum,在加载JForumInstall,JForum原来在cache中的内容就会初始化,而那个MostUserOnline对象是只有JForum有的,所以会为空。事实上我试过出错时,除了首页有问题,其他页面都是可以使用的(没有使用MostUserOnline对象)

我查了源代码,确实是这样,这个初始化cache的操作肯定是有问题的,jforum老大的解决办法是安装完成后修改web.xml文件,注释掉JForumInstall的加载和映射配置信息(注意是两个地方),也就是不再加载安装的servelet,也就解决了cache初始化的问题,但不知为什么jforum老大说这个问题还是会出现(刚才说的肯定是一个原因,但可能还有其他的原因)。
按照这个说法,先注释掉用于安装的servelet,启动tomcat,随便访问一个jforum页面(注意不能是默认首页,会出错,原因随后说)加载jforum应用,然后取消注释掉的web.xml的内容,访问安装页面(只访问一下,不要安装)加载安装应用,然后再访问论坛就肯定应该出错,但做了一次,并没有出错,大家可以再试一下。
我现在是直接把web.xml中用于安装的servelet注释掉,然后修改默认首页index.htm,把直接跳转安装servelet页面改为跳转论坛servelet,运行到现在还没有出问题。这样做还有两个附加好处:
1、不用加载安装servelet,加快启动速度,降低资源消耗
2、原来是访问首页跳转到安装servlet,他判断是已安装在跳转论坛servlet,这样做访问首页的速度会更慢,现在少了一个环节,访问论坛首页的速度更快。

这篇文章被编辑了 1 次. 最近一次更新是在 2007-06-19 10:34:57

xzc


注册时间: 2007-03-23 12:52:37
文章: 106
离线

re
pipo

[Avatar]

注册时间: 2007-03-29 16:14:03
文章: 95
离线

呵呵,我是直接做了个静态的页面做首页,不自动跳转。

跑题了

Java EE 软件之道
GengYuYu


注册时间: 2007-07-27 11:08:32
文章: 9
离线

goyo wrote:论坛老大的帖子一定要响应一下

运行两个tomcat应该不会造成cache出错,因为使用两个不同的jvm实例。
jforum的cache是一个静态对象,也就是说一个jvm只有一个实例,按照jforum老大的说法,cache出错的原因有可能是因为JForumBaseServelet(大概这个名字,懒得查了)是JForum和JForumInstall(大概这个名字吧)共同的基类,而JForumBaseServelet有初始化cache的操作,而tomcat加载JForum应用时如果先加载JForum,在加载JForumInstall,JForum原来在cache中的内容就会初始化,而那个MostUserOnline对象是只有JForum有的,所以会为空。事实上我试过出错时,除了首页有问题,其他页面都是可以使用的(没有使用MostUserOnline对象)

我查了源代码,确实是这样,这个初始化cache的操作肯定是有问题的,jforum老大的解决办法是安装完成后修改web.xml文件,注释掉JForumInstall的加载和映射配置信息(注意是两个地方),也就是不再加载安装的servelet,也就解决了cache初始化的问题,但不知为什么jforum老大说这个问题还是会出现(刚才说的肯定是一个原因,但可能还有其他的原因)。
按照这个说法,先注释掉用于安装的servelet,启动tomcat,随便访问一个jforum页面(注意不能是默认首页,会出错,原因随后说)加载jforum应用,然后取消注释掉的web.xml的内容,访问安装页面(只访问一下,不要安装)加载安装应用,然后再访问论坛就肯定应该出错,但做了一次,并没有出错,大家可以再试一下。
我现在是直接把web.xml中用于安装的servelet注释掉,然后修改默认首页index.htm,把直接跳转安装servelet页面改为跳转论坛servelet,运行到现在还没有出问题。这样做还有两个附加好处:
1、不用加载安装servelet,加快启动速度,降低资源消耗
2、原来是访问首页跳转到安装servlet,他判断是已安装在跳转论坛servlet,这样做访问首页的速度会更慢,现在少了一个环节,访问论坛首页的速度更快。


谢谢 这个解决方案.我为了"net.jforum.exceptions.ForumException: java.lang.reflect.InvocationTargetException"这个错误,找了很长时间!也不知道这样行不行!
 
论坛首页 »开源项目» JForum论坛
前往:   
Powered by JForum 2.1.8 © JForum Team Template: Trydone