會員註冊 / 登入  |  電腦版  |  Jump to bottom of page

JForum中文社群 JForum Chinese Users Community » Jforum in tomcat cluster problem

發表人: moder, 十級學員
2009-06-29 14:49:34
andowson 你好..
在架設JForum遇到了一些問題
目前環境:
OS:RHEL 5.0, iptables service 已經stop
Server:
IP:172.16.22.155
Apache 2.2.11(loadbalancer)
Tomcat 6.0.18(cluster)X2(同一台機器上)
兩個Tomcat 的Server.xml Host 設定都為
<Host name="172.16.22.155" debug="0" appBase="webapps" uppackWARs="true">

<Context path="/us" docBase="/home/httpd/web" reloadable="true" debug="0" distributable="true" crossContext="true"/>
<Context path="/jforum" docBase="/home/httpd/JForum-SSO" reloadable="true" crossContext="true" distributable="true" debug="0"/>
</Host>

JForum 的部份
SystemGlobals.properties 修改了cache.engine.implementation
cache.dir                   = cache

cache.engine.default = net.jforum.cache.DefaultCacheEngine
#cache.engine.implementation = ${cache.engine.default}
cache.engine.jboss = net.jforum.cache.JBossCacheEngine
cache.engine.implementation = ${cache.engine.jboss}

jboss-cache-cluster.xml 加上了bind_addr
<UDP mcast_addr="228.1.2.3" mcast_port="48866"

ip_ttl="64" ip_mcast="true"
mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
loopback="false" bind_addr="172.16.22.155"/>

發現了一些問題
1. Tomcat log 會出現Warning 和一些Error
Jun 29, 2009 1:55:46 PM org.jboss.cache.TreeCache _createService

WARNING: No transaction manager lookup class has been defined. Transactions cannot be used
Jun 29, 2009 1:55:46 PM org.jboss.cache.TreeCache createPessimisticInterceptorChain
INFO: interceptor chain is:
class org.jboss.cache.interceptors.CallInterceptor
class org.jboss.cache.interceptors.PessimisticLockInterceptor
class org.jboss.cache.interceptors.UnlockInterceptor
class org.jboss.cache.interceptors.ReplicationInterceptor
Jun 29, 2009 1:55:46 PM org.jboss.cache.TreeCache _createService
INFO: cache mode is REPL_ASYNC
Jun 29, 2009 1:55:46 PM org.jgroups.protocols.UNICAST setProperties
SEVERE: window_size is deprecated and will be ignored
Jun 29, 2009 1:55:46 PM org.jgroups.protocols.UNICAST setProperties
SEVERE: min_threshold is deprecated and will be ignored
Jun 29, 2009 1:55:46 PM org.jgroups.protocols.UDP createSockets
INFO: sockets will use interface 172.16.22.155
Jun 29, 2009 1:55:46 PM org.jgroups.protocols.UDP createSockets
INFO: socket information:
local_addr=172.16.22.155:11541, mcast_addr=228.1.2.3:48866, bind_addr=/172.16.22.155, ttl=64
sock: bound to 172.16.22.155:11541, receive buffer size=80000, send buffer size=150000
mcast_recv_sock: bound to 172.16.22.155:48866, send buffer size=150000, receive buffer size=80000
mcast_send_sock: bound to 172.16.22.155:40306, send buffer size=150000, receive buffer size=80000

-------------------------------------------------------
GMS: address is 172.16.22.155:11541
-------------------------------------------------------
Jun 29, 2009 1:55:48 PM org.jboss.cache.TreeCache startService
INFO: my local address is 172.16.22.155:11541
Jun 29, 2009 1:55:48 PM org.jboss.cache.TreeCache viewAccepted
INFO: viewAccepted(): [172.16.22.155:2456|1] [172.16.22.155:2456, 172.16.22.155:11541]
Jun 29, 2009 1:55:48 PM org.jgroups.protocols.pbcast.STATE_TRANSFER handleStateRsp
WARNING: state received from 172.16.22.155:2456 is null, will return null state to application
Jun 29, 2009 1:55:48 PM org.jboss.cache.TreeCache$MessageListenerAdaptor setState
INFO: new cache is null (may be first member in cluster)
Jun 29, 2009 1:55:48 PM org.jboss.cache.TreeCache fetchStateOnStartup
INFO: state could not be retrieved (must be first member in group)
Jun 29, 2009 1:55:48 PM org.jboss.cache.TreeCache startService
INFO: Cache is started!!

Jun 29, 2009 1:55:48 PM org.jboss.cache.TreeCache viewAccepted

INFO: viewAccepted(): [172.16.22.155:2456|1] [172.16.22.155:2456, 172.16.22.155:11541]
Jun 29, 2009 1:55:48 PM org.jboss.cache.TreeCache _getState
INFO: locking the / subtree to return the in-memory (transient) state
Jun 29, 2009 1:55:48 PM org.jboss.cache.TreeCache$MessageListenerAdaptor getState
SEVERE: Caught java.lang.NoClassDefFoundError while responding to initial state transfer request; returning null

2. 進入Admin管理功能"控制台首頁"會出現
13:55:49,304  INFO [AbstractPoolBackedDataSource] Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 120000, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 8ea21d, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> oracle.jdbc.OracleDriver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 8ea21d, idleConnectionTestPeriod -> 3600, initialPoolSize -> 3, jdbcUrl -> jdbc:oracle:thin:springsdesign_en/tjp wu0 gk4ru4_en@172.16.22.155:1521:spring, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 50, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 5, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 180, usesTraditionalReflectiveProxies -> false ]

13:55:49,775 INFO [ConfigLoader ] Loading clickstream config from /home/httpd/JForum-SSO/WEB-INF/config/clickstream-jforum.xml
13:58:54,162 INFO [BasicResourcePool ] A checked-out resource is overdue, and will be destroyed: com.mchange.v2.c3p0.impl.NewPooledConnection@c23942
13:59:03,194 INFO [BasicResourcePool ] A checked-out resource is overdue, and will be destroyed: com.mchange.v2.c3p0.impl.NewPooledConnection@d16dc8
java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.Socket.connect(Socket.java:507)
at java.net.Socket.connect(Socket.java:457)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
at sun.net.www.http.HttpClient.New(HttpClient.java:287)
at sun.net.www.http.HttpClient.New(HttpClient.java:299)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:792)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:744)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:669)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:913)
at net.jforum.view.admin.AdminAction.readVersionFromSocket(AdminAction.java:200)
at net.jforum.view.admin.AdminAction.checkBoardVersion(AdminAction.java:148)
at net.jforum.view.admin.AdminAction.main(AdminAction.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at net.jforum.Command.process(Command.java:114)
at net.jforum.view.admin.AdminAction.process(AdminAction.java:251)
at net.jforum.JForum.processCommand(JForum.java:217)
at net.jforum.JForum.service(JForum.java:200)
at net.jforum.JForum.service(JForum.java:200)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at net.jforum.util.legacy.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:595)
13:59:08,879 ERROR [JForumExecutionContext] Error while commiting a transaction
java.sql.SQLException: Closed Connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleConnection.commit(OracleConnection.java:1366)
at com.mchange.v2.c3p0.impl.NewProxyConnection.commit(NewProxyConnection.java:703)
at net.jforum.JForumExecutionContext.finish(JForumExecutionContext.java:314)
at net.jforum.JForum.handleFinally(JForum.java:262)
at net.jforum.JForum.service(JForum.java:208)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at net.jforum.util.legacy.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:595)

3. 在Admin管理功能裡新建分區和版面卻在討論區頁面看不到,要重新啟動Tomcat 才看的到,
權限部分有去檢查過都設為允許全部,快取也有去重新載入和清除
但是若是修改或是刪除已經存在的分區或版面名稱馬上就可以在討論區頁面看到修改過後的結果
是否為JBoss Cache 的問題

這些問題讓困擾許久 smilie ,是否有解決方式或是設定上需做調整修改,希望andowson能給予指導和討論,thx smilie

發表人: andowson, 七段學員
2009-06-30 01:50:29
以下是我的測試過程:

加上<distributable />到WEB-INF/web.xml
在WEB-INF/config/jforum-custom.conf,加上:
cache.engine.implementation = ${cache.engine.jboss}

在iptables中加上48866這個udp port

重新啟動JForum,出現下列的錯誤訊息:
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet.init() for servlet jforum threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:210)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
java.lang.Thread.run(Thread.java:619)

root cause

java.lang.NoClassDefFoundError: javax/transaction/SystemException
net.jforum.cache.JBossCacheEngine.init(JBossCacheEngine.java:73)
net.jforum.ConfigLoader.startCacheEngine(ConfigLoader.java:230)
net.jforum.JForumBaseServlet.init(JForumBaseServlet.java:113)
net.jforum.JForum.init(JForum.java:91)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:210)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
java.lang.Thread.run(Thread.java:619)

root cause

java.lang.ClassNotFoundException: javax.transaction.SystemException
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
net.jforum.cache.JBossCacheEngine.init(JBossCacheEngine.java:73)
net.jforum.ConfigLoader.startCacheEngine(ConfigLoader.java:230)
net.jforum.JForumBaseServlet.init(JForumBaseServlet.java:113)
net.jforum.JForum.init(JForum.java:91)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:210)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
java.lang.Thread.run(Thread.java:619)


主要是找不到javax.transaction.SystemException這個類別,
http://www.findjar.com/搜尋一下,找到了一些包含這個類別的jar檔,以jboss-j2ee.jar為例,可以用下列方式來補上
wget http://ncu.dl.sourceforge.net/sourceforge/jboss/jboss-4.2.3.GA-jdk6.zip
unzip jboss-4.2.3.GA-jdk6.zip
cp jboss-4.2.3.GA/jboss-4.2.3.GA/server/all/lib/jboss-j2ee.jar /home/andowson/www/WEB-INF/lib/.

重新啟動JForum後,可以正常顯示了,但是在log檔內卻出現下列的錯誤訊息:

Target exception: org.jgroups.ChannelException: failed loading class: java.lang.ClassNotFoundException: [Ljava.lang.Object;

org.jgroups.ChannelException: failed loading class: java.lang.ClassNotFoundException: [Ljava.lang.Object;
at org.jgroups.conf.ClassConfigurator.init(ClassConfigurator.java:92)
at org.jgroups.conf.ClassConfigurator.getInstance(ClassConfigurator.java:112)
at org.jgroups.stack.ProtocolStack.<init>(ProtocolStack.java:48)
at org.jgroups.JChannel.<init>(JChannel.java:254)
at org.jgroups.JChannel.<init>(JChannel.java:234)
at org.jboss.cache.TreeCache._createService(TreeCache.java:1212)
at org.jboss.cache.TreeCache.startService(TreeCache.java:1242)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bsh.Reflect.invokeMethod(Unknown Source)
at bsh.Reflect.invokeObjectMethod(Unknown Source)
at bsh.Name.invokeMethod(Unknown Source)
at bsh.BSHMethodInvocation.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.Interpreter.run(Unknown Source)
at bsh.Interpreter.main(Unknown Source)


利用http://www.jforum.net/posts/list/1306.page#5605這個網址提供的測試方法測了一下:


export CACHE_LIB=/home/andowson/www/WEB-INF/lib
export JFORUM=/home/andowson/www/WEB-INF

export CLASSPATH=.:$JFORUM/classes:$CACHE_LIB/commons-logging-api.jar:$CACHE_LIB/bsh-2.0b4.jar:$CACHE_LIB/jboss-j2ee.jar:$CACHE_LIB/jboss-remoting.jar:$CACHE_LIB/jgroups-all-2.2.9-beta2.jar:$CACHE_LIB/jboss-cache-1.2.4.jar:$CACHE_LIB/jboss-jmx.jar:$CACHE_LIB/jboss-minimal.jar:$CACHE_LIB/jboss-common.jar:$CACHE_LIB/jboss-system.jar:$CACHE_LIB/log4j-1.2.12.jar:$CACHE_LIB/concurrent.jar:$JFORUM/lib/jcaptcha-core-1.0-RC1.jar:$JFORUM/lib/jcaptcha-engine-1.0-RC1.jar:$JFORUM/lib/jcaptcha-all-1.0-RC2.0.1.jar

java bsh.Interpreter

show();
import org.jboss.cache.*;
import org.jboss.cache.aop.*;
org.apache.log4j.xml.DOMConfigurator.configure("/home/andowson/www/WEB-INF/log4j.xml");
cache = new TreeCache();
config = new PropertyConfigurator();
config.configure(cache, "/home/andowson/www/WEB-INF/config/jboss-cache-cluster.xml");
cache.startService();
cache.put("level1", "key1", "value1");
exit();


結果也是一樣,利用org.jgroups.ChannelException: failed loading class: java.lang.ClassNotFoundException: [Ljava.lang.Object;(google)這個錯誤訊息找到了這個網頁:
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4124237#4124237
發現是JDK 1.6的問題,解決的方法如果不降回JDK 1.5的話有兩種方法:
一種是在java啟動時加上-Dsun.lang.ClassLoader.allowArraySyntax=true的參數
另一種是換成新版的jgroups.jar
用方法一測了一下:
java -Dsun.lang.ClassLoader.allowArraySyntax=true bsh.Interpreter
確實可以跑了,不過還是在JForum群組設定時有問題

換成較新版本的JGroups
wget http://ncu.dl.sourceforge.net/sourceforge/javagroups/JGroups-2.7.0.GA.bin.zip
unzip JGroups-2.7.0.GA.bin.zip
cp JGroups-2.7.0.GA.bin/jgroups-all.jar /home/andowson/www/WEB-INF/lib/jgroups-all-2.7.0.GA.jar
mv /home/andowson/www/WEB-INF/lib/jgroups-all-2.2.9-beta2.jar /tmp

重新啟動後,再去新增版面,結果就如同moder所說的,新增的版面無法顯示,只有重新啟動JForum後才行。

結論:
JForum不支援JBoss Cache用在Tomcat Cluster架構中。請用原先預設的DefaultCacheEngine。

備註:在EhCacheEngine.java的開頭可以找到一段註解:
* The rest of the application seems to make some invalid assumptions about how
* things are cached. Those assumptions might be benign, but it is hard to tell
* without deep testing. Until this is finished the JBossCacheEngine should be
* configured in a local mode.

看來是不建議使用JBossCacheEngine在JForum上線環境中。
然後跟Rafael討論,他說他也沒在上線環境用過JBossCacheEngine。

發表人: moder, 十級學員
2009-06-30 10:12:23
andowson 謝謝你的詳細測試與建議說明,
讓問題有所解答..
辛苦你了




會員註冊 / 登入  |  電腦版  |  Jump to top of page