集群配置,session复制 集群相关的文章:http://www.blogjava.net/kapok/archive/2005/07/09/7423.html 来自于 http://jishudaima.iteye.com/blog/955789 使用weblogic集群,关于session复制,google大多数参考文献只是到weblogic.xml的配置,但是实际上到此并不能实现session复制,下面是比较全面的文档。 一、使用Configuration Wizard创建Domain 该集群的总体图如下: 二、创建Proxy Server Standalone Server Name: proxyServer Server Listen Address: localhost Server Listen Port:: 7009 Standalone Server: True 启动Proxy Server: cd c:\bea\user_projects\domains\dizzyworld start bin\startManagedWebLogic.cmd proxyServer http://127.0.0.1:7001 创建ProxyServer过程如下: 三、往ProxyServer部署 proxyApp.war 部署到ProxyServer上,其中web.xml配置如下: <init-param> <param-name>WebLogicCluster</param-name> <param-value>localhost:7003|localhost:7005|localhost:7007</param-value> </init-param> 该初始化参数为为ManagedServer的地址和端口 <servlet-mapping> <servlet-name>HttpClusterServlet</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> servlet-mapping为所截获的所有请求,接受请求后转发给所有的server 四、启动Managed Server 1、启动NodeManager cd d:\bea\weblogic92\common\nodemanager\ start d:\bea\weblogic92\server\bin\startNodeManager.cmd 127.0.0.1 5555 start d:\bea\weblogic92\server\bin\startNodeManager.cmd 127.0.0.1 5556 2、启动Managed Server cd d:\bea\user_projects\domains\dizzyworld start bin\startManagedWebLogic.cmd dizzy1 http://127.0.0.1:7001 start bin\startManagedWebLogic.cmd dizzy2 http://127.0.0.1:7001 start bin\startManagedWebLogic.cmd dizzy3 http://127.0.0.1:7001 五、将测试应用程序部署到集群的成员服务器中 browsestore.war 将应用程序部署到Cluster中 六、测试集群配置结果 访问Proxy Server http://localhost:7009/browsestore 七、session复制 Session复制有三种实现方式: 1.In-memory复制 2. 文件系统持久性 3. JDBC的数据库持久性 1.复制组解决session复制到问题(In-memory复制) 复制组只是用于存储会话状态复制品的集群实例优先级列表 本cluster创建两个复制组dizzyRepGroup1,dizzyRepGroup2 ,dizzyRepGroup1包含 dizzy1、dizzy2,dizzyReGroup2包含dizzy3,结构如如下: a.创建的操作步骤如下( 配置dizzy1): 同理可以配置dizzy2 和dizzy3 b.修改应用程序的配置文件weblogic.xml,增加 <session-descriptor> <timeout-secs>300</timeout-secs> <invalidation-interval-secs>60</invalidation-interval-secs> <persistent-store-type>replicated_if_clustered</persistent-store-type> </session-descriptor> 这样能使session复制功能的实现,从而实现故障转移 c.部署应用程序ShoppingCart.war 1. 通过JDBC的数据库持久性(把session放在数据库中) d.访问 http://127.0.0.1:7009/ShoppingCart/
1. 通过JDBC的数据库持久性(把session放在数据库中) b.创建复制组(如下图所示),配置方法如in-memory相同 c.创建数据源 Name: SessionDS JNDI Name: SessionDS Targets: dizzyworldCluster d.创建表,表结构如下: CREATE TABLE "PBPUBLIC"."WL_SERVLET_SESSIONS" (WL_ID VARCHAR ( 100) NOT NULL , WL_CONTEXT_PATH VARCHAR ( 100) NOT NULL , WL_IS_NEW CHARACTER (1) , WL_CREATE_TIME DECIMAL ( 20) , WL_IS_VALID INTEGER , WL_SESSION_VALUES BLOB , WL_ACCESS_TIME DECIMAL ( 20) NOT NULL , WL_MAX_INACTIVE_INTERVAL INTEGER, PRIMARY KEY (WL_ID, WL_CONTEXT_PATH) ); e.配置weblogic.xml <session-descriptor> <timeout-secs>300</timeout-secs> <invalidation-interval-secs>60</invalidation-interval-secs> <persistent-store-type>jdbc</persistent-store-type> <persistent-store-pool>SessionDS</persistent-store-pool> <persistent-store-table>WL_SERVLET_SESSIONS</persistentstore-table> </session-descriptor>