国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在Weblogic上配置Hibernate為JNDI (轉)

2019-11-18 11:22:59
字體:
來源:轉載
供稿:網友

在Weblogic上配置Hibernate為JNDI

一、首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能夠搜索到的CLASSPATH路徑上。單單這一步就有很多人很迷茫,其實去仔細看看Weblogic的啟動腳本文件startWeblogic.cmd和startWLS.cmd,我想大部分人都知道該怎么配置了。

我機器上的有個Hibernate的項目,在D:/test/Oracle目錄下,該目錄下的結構是:

D:/test/oracle/lib 放置hibernate的所有jar包
D:/test/oracle/src 放置源代碼
D:/test/oracle/classes 編譯好的代碼和hibernate的配置文件(hibernate.PRoperties, log4j.properties, cache.ccf)

現在需要把D:/test/oracle/lib目錄下那些jar文件和D:/test/oracle/classes目錄都放置到Weblogic的 CLASSPATH里面去,所以修改mydomain里面的Weblogic啟動腳本startWeblogic.cmd,在啟動Weblogic之前,插入設置CLASSPATH的命令,如下:

@rem set hibernate classpath
set HIBERNATE_LIB=D:/test/oracle/lib
set HIBERNATE_CLASSES=D:/test/oracle/classes
set CLASSPATH=%HIBERNATE_LIB%/cglib-asm.jar;%HIBERNATE_LIB%/commons-beanutils.jar;
%HIBERNATE_LIB%/commons-collections.jar;%HIBERNATE_LIB%/commons-lang.jar;
%HIBERNATE_LIB%/commons-logging.jar;%HIBERNATE_LIB%/dom4j-full.jar;
%HIBERNATE_LIB%/hibernate2.jar;%HIBERNATE_LIB%/jcs.jar;
%HIBERNATE_LIB%/log4j-1.2.8.jar;%HIBERNATE_LIB%/odmg.jar;
%HIBERNATE_CLASSES%;%CLASSPATH%

下面一行,就是本來腳本里面的啟動命令:

@rem Call Weblogic Server
call "C:/bea/weblogic700/server/bin/startWLS.cmd"

二、在Weblogic上配置 Oracle數據庫的連接池。這一步本來和Hibernate無關,但是假如你想要使用EJB,想要使用JTA,那么必須使用Weblogic提供的連接池,而不能使用Hibernate自帶的連接池,或者其它第三方連接池,否則容器將無法治理數據庫事務。這一步很簡單,就是在Weblogic Console里面配置Connection Pool和TxData Source,我的TxDataSource取名稱為“mypool”

三、修改hibernate.properties。使用Weblogic的連接池,而不是自帶的連接池。我修改的是D:/test/oracle/classes/hibernate.properties,增加如下行:

hibernate.dialect net.sf.hibernate.dialect.OracleDialect
hibernate.connection.datasource mypool
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider
hibernate.session_factory_name hibernate.session_factory

注重最后一行,這是使用 Hibernate來綁定JNDI給JNDI起的名稱,本來應該是hibernate/session_factory,但是Weblogic要求改為. 號,不過在程序中lookup的時候還是要寫hibernate/session_factory

另外提到一點的是

hibernate.jdbc.fetch_size 50
hibernate.jdbc.batch_size 25

分別對數據庫查詢和插入有很大的性能影響,調節這兩個選項可以得到最好的性能。

為了保證SessionFactory實例的預創建,使用Weblogic的T3StartUpDef接口創建一個StartUp類,在Weblogic啟動的時候運行:

package com.fankai;

import java.util.Hashtable;
import weblogic.common.T3StartupDef;
import weblogic.common.T3ServicesDef;
import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.SessionFactory;

public class HibernateStartUp implements T3StartupDef {

public void setServices(T3ServicesDef services) {}

public String startup(String name, Hashtable args) throws Exception {
Configuration conf = new Configuration().addClass(Cat.class);


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邳州市| 鹤岗市| 仁寿县| 陇川县| 大洼县| 河北区| 临澧县| 墨脱县| 新平| 衢州市| 邢台县| 望奎县| 古交市| 宜丰县| 上高县| 洛扎县| 石棉县| 扬中市| 葫芦岛市| 常熟市| 闽清县| 阳曲县| 建宁县| 龙岩市| 五河县| 秭归县| 侯马市| 安顺市| 滦平县| 沁阳市| 寿光市| 庆安县| 广河县| 通江县| 周宁县| 革吉县| 凭祥市| 兰坪| 定州市| 景德镇市| 万山特区|