麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

weblogic中將SessionFactory配置為JNDI

2019-11-18 12:57:29
字體:
來源:轉載
供稿:網友

  為了更方便的在編寫程序的過程中運用hibernate并且在多個應用程序中共享sessionFactory,將生成的SessionFactory配置為jndi并且在服務器啟動的時候將其配置為自動運行是個不錯的方法,這樣在程序中就可以通過“查找”的方式直接獲取factory的引用,步驟如下:
  
  1. 假如單單是為了將SessionFactory配置為JNDI,方法很簡單,只要在hibernate.cfg.xml文件中配置一下要綁定到jndi的名字即可,格式如下:
  

  <hibernate-configuration>
  <session-factory name="hibernate.session_factory">
  <property name="connection.datasource">jdbc.name</property>
  ……………………
  /session-factory>
  </hibernate-configuration>
  
  其中name="hibernate.session_factory"指定要綁定的JNDI名字為hibernate/session_factory,這樣在hibernate初始化SessionFactory的時候就會將其綁定在jndi服務上,之后我們就可以在程序中通過JNDI查找來獲取SessionFactory的引用,如:
  
  Context context=new InitialContext();
  SessionFactory sf = (SessionFactory)context.lookup("hibernate/session_factory");
  
  2. 上述中通過JNDI查找SessionFactory的引用的前提是在查找之前必須已經綁定,也就是hibernate已經初始化過SessionFactory,為了保證此條件,比較好的方法就是在服務器啟動的時候自動運行初始化SessionFactory的代碼并將其綁定至JNDI,可以通過以下兩種方式實現服務器啟動的時候自動運行代碼:
  

  ? 對于weblogic來說,我們可以通過weblogic.common.T3StartupDef接口來實現一個StartUp類,然后在weblogic控制臺中將其配置為自動運行,步驟如下:
  
  1) 編寫StartUp類:
  
  package com.starup
  public class HibernateInitStartUp implements   weblogic.common.T3StartupDef{
  public void setServices(T3ServicesDef t3ServicesDef) {
  }
  public String startup(String string, Hashtable hashtable) throws Exception {
  Configuration conf = new Configuration().configure();
  SessionFactory sf = conf.buildSessionFactory();
  return "SessionFactory init complete and bound to JNDI sUCcessful";
  }
  }
  
  2) 編譯該類
  
  3) 修改startWebLogic.cmd文件,將上述類中用到的類文件和hibernate關聯的包增加到其啟動時的classpath環境變量中,格式如下:
  
  set HIBERNATE_LIB=D:/work /WebRoot/WEB-INF/lib
  set HIBERNATE_CLASSES=D:/work /WebRoot/WEB-INF/classes
  在set CLASSPATH 之后加入: %HIBERNATE_LIB%/cglib-full-2.0.2.jar;%HIBERNATE_LIB%/commons-beanutils.jar;%HIBERNATE_LIB%/commons-collections.jar;%HIBERNATE_LIB%/commons-lang.jar;%HIBERNATE_LIB%/commons-logging.jar;%HIBERNATE_LIB%/dom4j-1.4.jar;%HIBERNATE_LIB%/hibernate2.jar;%HIBERNATE_LIB%/jcs.jar;%HIBERNATE_LIB%/odmg.jar;%HIBERNATE_CLASSES%
  
  在加入以上文件的時候要根據hibernate的版本而定,例如我用的是2.0,假如其他的版本上述的文件名可能有些不同,此時一定要檢查好
  
  4) 打開weblogic控制臺,在左側的樹中點擊StartUp & Shutdown,然后在右邊的主頁面中點擊“Configure a new Startup Class...”配置一個自動運行類,在Name框里面隨便填寫,在ClassName里面填寫你編寫的StartUp類:com.starup. HibernateInitStartUp,然后點擊apply,在接下來的Target選項中選擇myserver(根據你的情況而定),點擊apply按鈕。
  
  5) 重新啟動weblogic,可以看到hibernate初始化的一些信息和提示將SessionFactory綁定至JNDI的提示信息
  
  6) 在weblogic控制臺中的jndi樹中可以看到綁定的情況(點擊mydomain—server—myserver,然后點擊右邊頁面最下方的“View JNDI tree”就可以看到其信息)
  
  ? 通過實現ServletContextListener接口在系統初始化一個應用程序的時候自動運行,步驟如下:
  
  1) 編寫類,實現ServletContextListener接口,如下:
  
  package com.starup;
  
  import net.sf.hibernate.SessionFactory;
  import net.sf.hibernate.cfg.Configuration;
  
  import javax.servlet.ServletContextEvent;
  import javax.servlet.ServletContextListener;
  public class HibernateInitStartUp implements ServletContextListener {
  public void contextDestroyed(ServletContextEvent servletContextEvent) {
  
  }
  
  public void contextInitialized(ServletContextEvent servletContextEvent) {
  
  try {
  Configuration conf = new Configuration().configure();
  SessionFactory sf = conf.buildSessionFactory();
  } catch (Exception e) {
  e.PRintStackTrace();
  }
  }
  }
  
  2) 在對應應用程序的web.xml文件中加入:
  
  <listener>
  <listener-class> com.starup. HibernateInitStartUp </listener-class>
  </listener>
  
  3) 啟動wls,系統會在初始化對應應用程序的時候自動運行。
  
  此方法不用配置weblogic的啟動環境變量,因為當初始化應用程序的時候,對應的類和包已經加載到環境變量中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一区二区亚洲 | 一级电影在线观看 | 一级免费 | 色污视频| 亚洲第一成人在线观看 | 在线观看国产一区二区三区 | 成人超碰 | 一级毛片播放 | 亚洲欧美日韩精品久久 | 一级免费黄视频 | 久久网站热最新地址4 | 黄色成年在线观看 | 黄色成人在线播放 | 午夜激情视频免费 | 欧美激情性色生活片在线观看 | 成年免费视频黄网站在线观看 | 久久久av亚洲男天堂 | 天天干天天碰 | 日韩毛片网 | 欧美片一区二区 | 久久精品网址 | 日本在线播放一区二区 | 手机免费看一级片 | 九九热精品在线播放 | 蜜桃久久一区二区三区 | 色综av| 免费在线观看毛片视频 | 青草伊人网 | 欧美一级精品片在线看 | 久久一级 | 日韩视频一 | 亚洲欧美国产高清va在线播放 | 草久影院 | 欧美性猛交xxxxx按摩国内 | 中文字幕在线观看精品 | 国产一有一级毛片视频 | 99最新网址 | 久久久成人免费视频 | 成人在线视频精品 | 国产精品成人久久久久a级 欧美特黄一级高清免费的香蕉 | 成人在线观看免费观看 |