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 行者吳江 閱讀(2037) 評論(1)  編輯  收藏

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

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


          網站導航:
           
          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(1)

          隨筆分類(2)

          隨筆檔案(3)

          文章分類(1)

          文章檔案(1)

          收藏夾(3)

          Java

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 关岭| 玉屏| 日喀则市| 西畴县| 息烽县| 县级市| 炎陵县| 金门县| 仁怀市| 高淳县| 育儿| 永丰县| 交城县| 贺州市| 疏附县| 英超| 清苑县| 阳山县| 沿河| 西安市| 大丰市| 平江县| 海林市| 鹰潭市| 新余市| 德安县| 沂水县| 长岛县| 怀化市| 武乡县| 鞍山市| 上思县| 乌拉特中旗| 长沙县| 抚宁县| 淮滨县| 乌兰察布市| 浪卡子县| 连云港市| 兴义市| 万全县|