Glassfish会话复制不起作用

时间:2013-06-12 11:05:32

标签: java jsp glassfish-3 session-replication

我正在努力制作一个简单的应用程序复制它的会话。事情是非常基本的。起初我已经设置了两个虚拟机来执行此操作,但没有运气,所以我想也许我会在一台机器上完成它,所以我做了。

我在同一台机器上创建了一个包含两个实例的集群。在部署时标记了“可用性”复选框,因此它会实际复制会话。

我还对我在oracle man网页上提供的代码进行了更改:

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <distributable id="sessionDistribute" />
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

sun-web.xml中

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 
Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">


<sun-web-app>
    <session-config>
        <session-manager persistence-type="replicated">
            <manager-properties>
                <property name="persistenceFrequency" value="web-method"/>
            </manager-properties>
            <store-properties>
                <property name="persistenceScope" value="session"/>
            </store-properties>
        </session-manager>
        <session-properties/>
        <cookie-properties/>
    </session-config>
</sun-web-app>

的index.jsp

<%@page import="java.util.Enumeration"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
<h1>Session Form</h1>

<%
    if (request.getParameter("sessionName") != null && request.getParameter("sessionValue") != null) {
        HttpSession httpSession = request.getSession();
        httpSession.setAttribute(request.getParameter("sessionName"), request.getParameter("sessionValue"));
    }
%>

<form action="index.jsp" method="POST">

    your session name : <input type="text" name="sessionName" /> <br />
    your session value : <input type="text" name="sessionValue" /> <br />
    <input type="submit" />

</form>

<h1>Your Sessions</h1>

<%
    Enumeration sessionNames = session.getAttributeNames();
    while (sessionNames.hasMoreElements()) {
        String mySessionName = sessionNames.nextElement().toString();
        String mySession = request.getSession().getAttribute(mySessionName).toString();
        out.print(mySessionName+ " --> "+mySession + " <br />");
    }
%>

</body>
</html>

当我在会话中发布内容时,它不会出现在secon实例上。 第二天我一直在和这个斗争,但我已经没想完了......

任何提示都是grea。

0 个答案:

没有答案