亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 在weblogic上配置hibernate為jndi.txt

?? Hibernate使用說明書
?? TXT
字號(hào):
文檔 > Hibernate入門 > 在Weblogic上配置Hibernate為JNDI  
 

--------------------------------------------------------------------------------
   rw-rw-r--   smalldu   wheel 
 
 
在Weblogic上配置Hibernate為JNDI
作者:robbin (MSN:robbin_fan AT hotmail DOT com)

版權(quán)聲明:本文嚴(yán)禁轉(zhuǎn)載,如有轉(zhuǎn)載請(qǐng)求,請(qǐng)和作者聯(lián)系

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

我機(jī)器上的有個(gè)Hibernate的項(xiàng)目,在D:\test\oracle目錄下,該目錄下的結(jié)構(gòu)是:

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

現(xiàn)在需要把D:\test\oracle\lib目錄下那些jar文件和D:\test\oracle\classes目錄都放置到Weblogic的 CLASSPATH里面去,所以修改mydomain里面的Weblogic啟動(dòng)腳本startWeblogic.cmd,在啟動(dòng)Weblogic之前,插入設(shè)置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%;

下面一行,就是本來腳本里面的啟動(dòng)命令:

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

二、在Weblogic上配置 Oracle數(shù)據(jù)庫的連接池。這一步本來和Hibernate無關(guān),但是如果你想要使用EJB,想要使用JTA,那么必須使用Weblogic提供的連接池,而不能使用Hibernate自帶的連接池,或者其它第三方連接池,否則容器將無法管理數(shù)據(jù)庫事務(wù)。這一步很簡單,就是在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起的名稱,本來應(yīng)該是hibernate/session_factory,但是Weblogic要求改為. 號(hào),不過在程序中l(wèi)ookup的時(shí)候還是要寫hibernate/session_factory

另外提到一點(diǎn)的是

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

分別對(duì)數(shù)據(jù)庫查詢和插入有很大的性能影響,調(diào)節(jié)這兩個(gè)選項(xiàng)可以得到最好的性能。

為了保證SessionFactory實(shí)例的預(yù)創(chuàng)建,使用Weblogic的T3StartUpDef接口創(chuàng)建一個(gè)StartUp類,在Weblogic啟動(dòng)的時(shí)候運(yùn)行:

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";
  } 
}

代碼非常簡單,其實(shí)就是確保預(yù)先運(yùn)行

SessionFactory sf = new Configuration().configure().buildSessionFactory();

把sf創(chuàng)建出來,而Hibernate會(huì)自行調(diào)用一系列類方法,把sf綁定到Weblogic的的JNDI樹下的hibernate/session_factory路徑中。

4、編譯HibernateStartUp.java

編譯這個(gè)源代碼的時(shí)候需要注意的是,要把weblogic.jar包和Hibernate所有的相關(guān)包和配置文件導(dǎo)入。我是把這個(gè)源代碼放到D:\test\oracle\src目錄下的,用早已編寫好的ant腳本運(yùn)行一下就編譯好了,并且編譯好的 class文件被放置到D:\test\oracle\classes目錄下,該目錄已經(jīng)被加入到Weblogic的CLASSPATH里面,因此很省事。

五、配置StartUp類

啟動(dòng)Weblogic,打開Console控制臺(tái),在左邊的Applet樹上找到StartUp & Shutdown,然后在右邊點(diǎn)擊“Configure a new Startup Class...”,在Name框里面隨便填寫,在ClassName里面填寫你編寫的StartUp類,我填寫的是 com.javaeye.HibernateStartUp,然后點(diǎn)擊“Apply”。然后切換到Target這選項(xiàng)卡,在Target-Server左邊的 Avaiable框里面選擇“myserver”,點(diǎn)擊右箭頭,把它挪到右邊的“Chosen”框里面去,最后再點(diǎn)擊一下“Apply"按鈕。如果此時(shí) Weblogic的DOS窗口里面沒有出錯(cuò)信息,那么應(yīng)該已經(jīng)配置成功了。

六、現(xiàn)在關(guān)閉Weblogic,再重新運(yùn)行 startWelogic.cmd,啟動(dòng)Weblogic,觀察DOS窗口的輸出信息,可以看到Hibernate的初始化信息一屏屏的滾動(dòng)輸出,證明已經(jīng)配置成功。現(xiàn)在再打開Console控制臺(tái),點(diǎn)擊左邊Applet樹中的Servers|myserver,然后可以在右邊最下面找到“View JNDI tree ”,點(diǎn)擊它,會(huì)打開一個(gè)瀏覽器窗口,顯示JNDI樹,這時(shí)你可以看到一個(gè)名稱為hibernate的JNDI對(duì)象,在左邊的Applet樹中點(diǎn)擊它,看右邊的詳細(xì)信息,我的機(jī)器上的信息如下:

Bind Name: hibernate
Object Class: net.sf.hibernate.impl.SessionFactoryImpl
Object Hash Code: 454492
Object To String: net.sf.hibernate.impl.SessionFactoryImpl@6ef5c

完全正確!

最后你可以隨意在EJB或者Servlet/JSP里面使用JND查找來獲得SessionFactory了。

例如:

Context ctx = new InitialContext();
SessionFactory sf = (SessionFactory) ctx.lookup("hibernate/session_factory");

請(qǐng)注意:上述代碼只能在WebLogic容器內(nèi)運(yùn)行,而不能在WebLogic容器外運(yùn)行。因?yàn)镾essionFactory并沒有實(shí)現(xiàn)序列化接口,因此當(dāng)客戶端程序(在另一個(gè)單獨(dú)的JVM中運(yùn)行)遠(yuǎn)程訪問WebLogic JNDI,企圖將SessionFactory序列化到本地,肯定會(huì)失敗。但即使SessionFactory實(shí)現(xiàn)序列化接口,由于它不是一個(gè)可以支持RMI的對(duì)象,仍然無法在WebLogic容器外正常調(diào)用。 

與此不同的是,WebLogic本身的DataSource,EJB,JMS等等都是支持RMI的(前提條件是WebLogic相應(yīng)的jar要有),所以你可以在WebLogic外面lookup,并且使用它。
 

 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产精品免费网站| 久久男人中文字幕资源站| 久久美女高清视频| 日韩电影免费在线看| 欧美日韩国产精品自在自线| 亚洲精品水蜜桃| 97久久人人超碰| 亚洲欧洲日韩在线| 成人动漫中文字幕| 国产精品国产自产拍高清av王其| 国产iv一区二区三区| 国产日产欧美一区二区三区 | 一区二区三区免费看视频| 99精品国产视频| 一区二区三区在线视频播放| 99国内精品久久| 亚洲一二三四久久| 欧美一区二区三区在线看| 精品一区二区三区在线视频| 久久久精品人体av艺术| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品乱码久久久久久 | 美女视频一区二区三区| 久久久噜噜噜久久中文字幕色伊伊| 国产sm精品调教视频网站| 亚洲主播在线播放| 欧美大片一区二区三区| 成人一区二区三区视频在线观看| 18成人在线观看| 日韩欧美精品三级| 91精彩视频在线观看| 国产一区二区三区视频在线播放| 亚洲精品国产视频| 国产欧美va欧美不卡在线| 在线观看日韩电影| 成人性生交大合| 激情亚洲综合在线| 亚洲一区二区三区三| 国产精品女主播av| 欧美精品一区二区高清在线观看| 91日韩在线专区| 国产高清精品久久久久| 日韩精品欧美精品| 亚洲成人动漫在线观看| 亚洲美女偷拍久久| 国产精品盗摄一区二区三区| 欧美成人一级视频| 久久影音资源网| 在线观看日韩毛片| 99re成人在线| 精品午夜一区二区三区在线观看| 久久久99免费| 久久久www成人免费无遮挡大片| 欧美日韩情趣电影| 欧美日韩国产bt| 宅男噜噜噜66一区二区66| 欧美日韩一区二区三区在线| 在线视频欧美精品| 91福利小视频| 欧美日韩激情在线| 欧美高清视频www夜色资源网| 欧美日韩精品高清| 欧美一二三四在线| 欧美极品少妇xxxxⅹ高跟鞋 | 中文字幕一区二区三区精华液| 国产女人水真多18毛片18精品视频| 国产日产欧美一区| 亚洲精品国产视频| 日av在线不卡| 成人丝袜高跟foot| 欧美午夜影院一区| 精品久久久久久久久久久久久久久| 精品国产乱码久久久久久蜜臀| 国产精品视频一二三区 | 一区二区三区在线播| 日韩成人免费在线| 成人三级伦理片| 制服丝袜中文字幕一区| 国产精品色婷婷久久58| 亚洲成人在线观看视频| 久久国产精品免费| 91视频一区二区三区| 欧美电视剧免费观看| 国产婷婷色一区二区三区在线| 亚洲线精品一区二区三区八戒| 久久狠狠亚洲综合| 欧洲av一区二区嗯嗯嗯啊| 亚洲精品在线免费播放| 性做久久久久久免费观看欧美| 成人免费高清视频在线观看| 日韩精品一区在线观看| 亚洲成a人片综合在线| 96av麻豆蜜桃一区二区| 日韩欧美电影一区| 午夜精品成人在线视频| 日本丶国产丶欧美色综合| 国产精品高清亚洲| 国产91丝袜在线观看| 久久一区二区三区国产精品| 亚洲成国产人片在线观看| 欧美日韩一级片在线观看| 亚洲综合色婷婷| 欧美日韩一级黄| 日韩不卡免费视频| 日韩欧美一区二区不卡| 精品一区二区三区av| 2021久久国产精品不只是精品| 紧缚奴在线一区二区三区| 日韩精品在线网站| 懂色av中文字幕一区二区三区| 国产日韩精品一区二区三区| 国产一区二区三区日韩| 国产精品视频在线看| 91婷婷韩国欧美一区二区| 一区二区三区在线观看国产| 欧美日韩精品欧美日韩精品| 美女mm1313爽爽久久久蜜臀| 久久蜜桃av一区二区天堂| a亚洲天堂av| 日本在线不卡视频一二三区| 久久久高清一区二区三区| 日韩精品国产欧美| 日韩视频123| 国产自产视频一区二区三区| 欧美理论在线播放| 国产精品主播直播| 樱花影视一区二区| 2023国产精品视频| 欧美影院午夜播放| 国产成人超碰人人澡人人澡| 亚洲成人动漫在线免费观看| 精品精品国产高清一毛片一天堂| 成人av免费在线| 捆绑变态av一区二区三区| 久久久久97国产精华液好用吗| 91污在线观看| www.日韩av| 国产酒店精品激情| 香蕉加勒比综合久久| 亚洲精品国产无天堂网2021| 国产亚洲一区二区三区在线观看 | 韩日精品视频一区| 日本va欧美va精品发布| 成人欧美一区二区三区小说| 精品久久国产97色综合| 91精品国产黑色紧身裤美女| 欧美午夜精品久久久久久孕妇 | 91久久精品国产91性色tv| 国产成人精品免费看| 国产东北露脸精品视频| 黑人巨大精品欧美黑白配亚洲| 日韩一区欧美二区| 免费一级片91| 极品美女销魂一区二区三区| 久久国产精品色婷婷| 国产一区在线视频| 国产高清不卡一区| 99久久精品久久久久久清纯| av一二三不卡影片| 色综合中文字幕国产 | 国产91精品一区二区麻豆网站| 韩国毛片一区二区三区| 国产v综合v亚洲欧| 91蜜桃网址入口| 91精品国产综合久久精品app| 日韩视频免费直播| 久久老女人爱爱| 亚洲最大成人综合| 免费成人av在线播放| 国产.精品.日韩.另类.中文.在线.播放| 国产一区二区导航在线播放| 91年精品国产| 欧美电视剧在线观看完整版| 国产精品女同互慰在线看| 日韩专区欧美专区| 不卡av免费在线观看| 精品欧美乱码久久久久久1区2区| 国产亚洲1区2区3区| 亚洲18影院在线观看| 成人开心网精品视频| 日韩一级片网站| 依依成人综合视频| 国产精品18久久久久久久久 | 国产不卡视频一区| 欧美一区二区免费| 亚洲一二三区在线观看| 成人精品国产福利| 久久一二三国产| 日产国产高清一区二区三区| 欧美性感一类影片在线播放| 亚洲国产岛国毛片在线| 国产美女在线精品| 日韩午夜电影av| 日韩电影在线一区二区| 欧美精品乱人伦久久久久久| 亚洲乱码中文字幕综合| 91免费视频观看| 亚洲乱码国产乱码精品精小说| 91久久免费观看| 亚洲一区在线观看视频|