我想能夠在Tomcat上Liferay的會話複製沒有多少運氣。我已經寫了一個小測試,看看會話被複制和它運作良好,在我所劃歸的webapps /例子一個獨立的JSP文件,但是當我輸入一個Liferay的-porlet相同的代碼只有JSESSION是正確的。Liferay的集羣會話複製
HttpSession httpSession = request.getSession();
String testTime = (String) httpSession.getAttribute("testTime");
String before = testTime;
testTime = Long.toString(System.currentTimeMillis());
httpSession.setAttribute("testTime", testTime);
String sessionid = httpSession.getId();
System.out.println("JSESSIONID: "+sessionid);
System.out.println("TEST TIME WAS: "+before);
System.out.println("TEST TIME IS: "+testTime);
有人知道爲什麼它不在liferay-portlet中工作嗎?我已經加入分配對portlet/WEB-INF/web.xml中
編輯1:版本
liferay 6.1.1
Tomcat 7.0.47
編輯2:我嘗試另一個測試。
HttpSession httpSession = request.getSession();
String testTime = (String) httpSession.getAttribute("testTime");
String before = testTime;
if(testTime == null) {
testTime = Long.toString(System.currentTimeMillis());
httpSession.setAttribute("testTime", testTime);
}
String sessionid = httpSession.getId();
System.out.println("JSESSIONID: "+sessionid);
System.out.println("TEST TIME WAS: "+before);
System.out.println("TEST TIME IS: "+testTime);
這次我只設置變量,如果它爲空。它在liferay之外的JSP中按預期工作,但在liferay中它就是這樣。
- 第一臺服務器獲取請求中得到空端設置變量
- 當其他服務器獲取也變得無效請求和格紋圖案變量
- 當那得到了第一個請求的服務器試圖得到它從第二個服務器獲取值的變量。所以現在它被複制。
不要緊哪個服務器獲得的第一個請求,它總是同樣的結局呢
編輯4.集羣信息
節點:2 負載均衡:
<Proxy balancer://mycluster>
BalancerMember ajp://node1:8009 route=tomcat1 loadfactor=1
BalancerMember ajp://node2:8009 route=tomcat2 loadfactor=1
Order Deny,Allow
Deny from none
Allow from all
ProxySet lbmethod=byrequests
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Allow from all
</Location>
ProxyPass /balancer-manager !
ProxyPass/balancer://mycluster/
portal-ext.properties
cluster.link.enabled=true
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://dbserver:3306/lportal?autoReconnect&autoReconnectForPools;&useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=u jdbc.default.password=p
spring.configs=\
META-INF/base-spring.xml,\
\
META-INF/hibernate-spring.xml,\
META-INF/infrastructure-spring.xml,\
META-INF/management-spring.xml,\
\
META-INF/util-spring.xml,\
\
META-INF/jpa-spring.xml,\
\
META-INF/executor-spring.xml,\
\
META-INF/audit-spring.xml,\
META-INF/cluster-spring.xml,\
META-INF/editor-spring.xml,\
META-INF/jcr-spring.xml,\
META-INF/ldap-spring.xml,\
META-INF/messaging-core-spring.xml,\
META-INF/messaging-misc-spring.xml,\
META-INF/mobile-device-spring.xml,\
META-INF/notifications-spring.xml,\
META-INF/poller-spring.xml,\
META-INF/rules-spring.xml,\
META-INF/scheduler-spring.xml,\
META-INF/scripting-spring.xml,\
META-INF/search-spring.xml,\
META-INF/workflow-spring.xml,\
\
META-INF/counter-spring.xml,\
META-INF/mail-spring.xml,\
META-INF/portal-spring.xml,\
META-INF/portlet-container-spring.xml,\
META-INF/staging-spring.xml,\
META-INF/virtual-layouts-spring.xml,\
\
META-INF/dynamic-data-source-spring.xml,\
#META-INF/shard-data-source-spring.xml,\
#META-INF/memcached-spring.xml,\
#META-INF/monitoring-spring.xml,\
\
META-INF/ext-spring.xml
請提供例如集羣設置的相關細節portal-ext.properties文件,集羣拓撲結構等。 –