posts - 3,  comments - 1,  trackbacks - 0
          原來的項目中包含了Hibernate的應用,最近,另外一個項目也要引用這個Hibernate的應用,因此決定將Hibernate應用獨立出來,作為一個MBean部署到JBoss中,不同的項目通過JNDI來訪問。

          先說說我的開發環境
          Eclipse3.2+MyEclipse5.0+Spring2.0+Hibernate3.0+JBoss4.0.5GA

          首先在Google上搜索一番,知道了要在JBoss下部署Hibernate的應用,需要一個Hibernate的部署器。我在我的Jboss的Deploy目錄中沒有找到這個部署器(不知道為什么沒有),沒辦法,只好到Google上搜索一番,終于在下載到了這個加載器Hibernate3-deployer(點擊下載),把它部署到JBoss下的Deploy目錄中。接著,在Eclipse中建立一個Hibernate的Java項目,目錄結構如圖一。
          在根目錄建立META-INF目錄,在目錄下編寫jboss-service.xml文件
           1 <?xml version="1.0" encoding="UTF-8"?>  
           2 <server>  
           3      <mbean
           4          code="org.jboss.hibernate.jmx.Hibernate"
           5          name="jboss.har:service=Hibernate">   
           6         <depends>jboss.jca:service=RARDeployer</depends>
           7         <depends>
           8           jboss.jca:name=TestDS,service=DataSourceBinding
           9         </depends>        
          10         <attribute name="DatasourceName">
          11              java:/TestDS
          12         </attribute>   
          13          <attribute name="Dialect">
          14              org.hibernate.dialect.Oracle9Dialect
          15         </attribute> 
          16         <attribute name="SessionFactoryName">
          17              java:/hibernate/SessionFactory
          18         </attribute> 
          19         <attribute name="ShowSqlEnabled">
          20                false
          21         </attribute>  
          22         <attribute name="ScanForMappingsEnabled">
          23                 true
          24         </attribute> 
          25         <attribute name="CacheProviderClass">
          26                 org.hibernate.cache.HashtableCacheProvider
          27         </attribute> 
          28      </mbean>   
          29 </server>
          30 

          將以上項目以dataInterface.har為名稱Deploy到Jboss,啟動Jboss后,就可以通過JNDI名為java:/hibernate/SessionFactory的服務來取得SessionFactory。
          通過Spring來取得該SessionFactory可以在ApplicationContext.xml中這樣寫
          1 <bean id="sessionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
          2     <property name="jndiName">           
          3        <
          value>java:/hibernate/SessionFactory</value>
          4     </property>
          5 </bean>
          其他的就和你平常寫法一樣了。o(∩_∩)o...

          注意的是:你項目中hibernate3.jar包不能包含在項目的Classpath中,否則會出現hibernate not bound的異常。





          Luke Skywalker in BlogJava

           

          posted on 2007-09-18 14:39 行者吳江 閱讀(2036) 評論(1)  編輯  收藏

          FeedBack:
          # re: 整合Jboss和Hibernate[未登錄]
          2010-12-24 13:48 |
          最后一句話好值錢!  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2007年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(1)

          隨筆分類(2)

          隨筆檔案(3)

          文章分類(1)

          文章檔案(1)

          收藏夾(3)

          Java

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 龙泉市| 景德镇市| 五家渠市| 潮州市| 肥乡县| 池州市| 左云县| 宝坻区| 都江堰市| 郸城县| 黑河市| 谷城县| 馆陶县| 武平县| 家居| 滕州市| 合水县| 温州市| 靖边县| 贡觉县| 湘西| 桓仁| 通化市| 高邑县| 定襄县| 宜兰市| 深水埗区| 涞水县| 阜新| 河池市| 广丰县| 阿拉善盟| 湾仔区| 安多县| 黄冈市| 新建县| 巴马| 平潭县| 沙河市| 沭阳县| 洪雅县|