這篇文章將為大家詳細講解有關(guān)WebLogic中怎么通過數(shù)據(jù)庫配置Session共享,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)建站長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為秀峰企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站制作,秀峰網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。1. 配置準(zhǔn)備
1) 要配置JDBC的方式復(fù)制Session,主要為下面三個步驟
(1)在數(shù)據(jù)庫中創(chuàng)建表
(2)創(chuàng)建對數(shù)據(jù)庫具有讀/寫權(quán)限的連接池
(3)在weblogic.xml部署描述符中配置會話持久性
2) 配置會話的持久性的示例如下:
可選參數(shù)如下。
① memory--禁用持久性會話存儲。
② replicated--與memory 相同,但會話數(shù)據(jù)將在集群服務(wù)器之間復(fù)制。
③ replicated_if_clustered--如果Web應(yīng)用程序部署在集群服務(wù)器上,則按有效的persistentstore-type 復(fù)制;否則按默認(rèn)值memory復(fù)制。
④ sync-replication-across-cluster--復(fù)制將在集群內(nèi)同步發(fā)生。
⑤ async-replication-across-cluster--復(fù)制將在集群內(nèi)異步發(fā)生。
3) JDBC持久性表配置必須存在名為WL_SERVLET_SESSIONS,且具有讀/寫訪問權(quán)限的數(shù)據(jù)庫表,見下表。
列標(biāo)題 | 列數(shù)據(jù)類型 |
WL_ID | 可變寬度,最多100 個字符 |
WL_CONTEXT_PATH | |
WL_IS_NEW | numeric,20 位 |
WL_ACCESS_TIME | numeric,20 位 |
WL_SESSION_VALUES | BLOB,非常大 |
WL_IS_VALID | char,1 個字符 |
WL_CREATE_TIME | numeric,20 位 |
在映射到會話持久性連接池的數(shù)據(jù)庫中,需要配置一個名為WL_SERVLET_ SESSIONS的表,該表將包含所有活動會話對象的值。指定有權(quán)訪問此表的用戶,需要對該表具有讀/寫/插入/刪除訪問權(quán)限才能有效地管理對象。該表需具有以下8列內(nèi)容。
WL_ID--會話ID,與WL_CONTEXT_PATH一起用做數(shù)據(jù)庫主鍵??勺儗挾茸帜笖?shù)字?jǐn)?shù)據(jù)類型,最多100個字符。
WL_CONTEXT_PATH--上下文,此列與WL_ID一起用做主鍵??勺儗挾茸帜笖?shù)字?jǐn)?shù)據(jù)類型,最多100個字符。
WL_IS_NEW--只要Servlet引擎將會話分類為"新"狀態(tài),此值就為True。含一個字符的列。
WL_CREATE_TIME--最初創(chuàng)建會話的時間。Numeric 數(shù)據(jù)類型列,20位。
WL_IS_VALID--Servlet可以訪問會話時,該值為True。用于并發(fā)訪問。含一個字符的列。
WL_SESSION_VALUES--實際會話數(shù)據(jù)。BLOB列。
WL_ACCESS_TIME--上次訪問會話的時間。Numeric數(shù)據(jù)類型列,20位。
WL_MAX_INACTIVE_INTERVAL--從客戶端請求到會話失效之間的時間(秒)。負時間值表明會話永不超時。Integer 數(shù)據(jù)類型列。
2. 創(chuàng)建保存Session的數(shù)據(jù)庫和數(shù)據(jù)表
這里我們選擇使用MySQL數(shù)據(jù)庫
創(chuàng)建weblogic數(shù)據(jù)庫,并在weblogic下創(chuàng)建wl_servlet_sessions表
create database weblogic; SET FOREIGN_KEY_CHECKS=0; --關(guān)閉外鍵約束 -- ---------------------------- -- Table structure for `wl_servlet_sessions` -- ---------------------------- DROP TABLE IF EXISTS `wl_servlet_sessions`; CREATE TABLE `wl_servlet_sessions` ( `wl_id` varchar(100) NOT NULL DEFAULT '', `wl_context_path` varchar(100) NOT NULL DEFAULT '', `wl_is_new` varchar(2) DEFAULT NULL, `wl_create_time` bigint(20) DEFAULT NULL, `wl_is_valid` varchar(2) DEFAULT NULL, `wl_session_values` blob, `wl_access_time` bigint(20) DEFAULT NULL, `wl_max_inactive_interval` bigint(20) DEFAULT NULL, PRIMARY KEY (`wl_id`,`wl_context_path`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;創(chuàng)建weblogic用戶,并賦予對weblogic數(shù)據(jù)庫中所有表的所有權(quán)限,賬號密碼為weblogic,該賬戶可以從任何主機連接服務(wù)器
grant all on weblogic.* to 'weblogic'@'%' identified by 'weblogic';如下圖,受管服務(wù)器app1和app2,同屬于一個集群中,關(guān)于負載均衡的集群配置,可以參考之前的文章。
我們看一下數(shù)據(jù)庫,已經(jīng)將Session信息寫入到數(shù)據(jù)庫中,這樣就做到了共享Session了。
關(guān)于WebLogic中怎么通過數(shù)據(jù)庫配置Session共享就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。