1.集群代理服务器配置
1)创建代理服务器
新建一个普通的节点服务器作为代理服务器,此代理服务器为独立的服务器,不加入到集群中。
创建完成之后,服务器列表如下:
2)为代理服务器部署转发应用
新建一个项目用于请求转发,这里新建的项目名为Proxy,里面没有class文件,只有web.xml和weblogic.xml两个配置文件,如下所示:
[weblogic@dengqp02 app]$ tree Proxy
Proxy
`-- WEB-INF
-- weblogic.xml
`-- web.xml
1 directory, 2 files
将项目部署在代理服务器上,启动之后即可向集群进行代理转发请求的功能
3)测试代理转发功能
如下,在地址栏输入代理配置的项目访问地址,就可以将请求转发到集群中去了。
但是此时并不知道代理转发到哪一台服务器上了,因此,将以下代码加入首页的JSP上,显示出当前运行的项目所在目录及session号。
此时,可以看出当前session只有一个,另一个值为NONE,集群中的两台服务器并没有进行session共享。若要实现session复制还需要进行共享的配置。
2.集群Session共享配置
1)修改集群消息传送模式为多点传送
更改集群消息传送为多点传送之后,需要修改集群中的受管服务器的启动方式。
在setDomainEnv.sh中JAVA_OPTION节加入:-Djava.net.preferIPv4Stack=true
if [ "${debugFlag}" = "true" ] ; then
JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=${DEBUG_PORT},server=y,suspend=n -Djava.compiler=NONE"
export JAVA_DEBUG
JAVA_OPTIONS="${JAVA_OPTIONS} ${enableHotswapFlag} -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole... -Djava.net.preferIPv4Stack=true"
export JAVA_OPTIONS
else
JAVA_OPTIONS="${JAVA_OPTIONS} ${enableHotswapFlag} -da -Djava.net.preferIPv4Stack=true"
或者使用启动脚本启动加入:
2)将共享功能配置加入到应用中的WEB_INF目录下
3)重启并进行测试
完成以上两项工作后,进行测试,登录后,打开的页面中出现显示session值为两个,截图如下:
将集群中的受管服务器app1关闭,再页面上刷新,不需要重新登录,并成功跳转到app2上,此时显示的session id 只有一个,另一个为NONE,截图如下所示