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

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

在Weblogic上配置Hibernate為JNDI

2019-11-18 15:45:31
字體:
來源:轉載
供稿:網友

  一、首先需要把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=%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_LIB%/jta.jar;%HIBERNATE_CLASSES%;
  下面一行,就是本來腳本里面的啟動命令:

@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.javaeye;

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 {
  SessionFactory sf = new Configuration().configure().buildSessionFactory();
  return "Hibernate Startup completed sUCcessfully";
 }
}
  代碼非常簡單,其實就是確保預先運行



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新密市| 托克托县| 阳东县| 乌苏市| 宿州市| 东莞市| 尤溪县| 扶余县| 神农架林区| 大连市| 兰溪市| 长宁区| 祁阳县| 江安县| 韶关市| 从江县| 马鞍山市| 大宁县| 嘉黎县| 柘城县| 小金县| 阳山县| 岳普湖县| 尼木县| 杨浦区| 津市市| 浠水县| 汽车| 平阳县| 盐亭县| 北宁市| 东台市| 灵武市| 马尔康县| 庆元县| 剑阁县| 巩留县| 元氏县| 诸城市| 响水县| 海原县|