用户操作
[即时聊天] [发私信] [加为好友]
patrickipID:patrickip
10977次访问,排名10956(1),好友0人,关注者0人。
patrickip的文章
原创 17 篇
翻译 0 篇
转载 0 篇
评论 24 篇
最近评论
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 JBoss-IDE 1.2.2 簡介 (Hibernate) 4收藏

    新一篇: JBoss-IDE 1.2.2 簡介 (Hibernate) 2 | 旧一篇: JBoss-IDE 1.2.2 簡介 (Hibernate) 2

    JBoss-IDE 1.2.2 簡介 (Hibernate) 4:

     

    6.          現在要設定 XDoclet , 首先在 tutorial 項目中 src/META-INF 的資料夾裏新增一個 jboss-service-custom.xdt 檔案, 內容如下:

        <depends>jboss.jca:service=LocalTxCM,name=MySqlDS</depends>

    <attribute name="CacheProvider">net.sf.hibernate.cache.TreeCacheProvider</attribute>

     

    然後右擊 tutorial project, ‘Properties’, 再選 ‘XDoclet Configurations’, 在右上方的視窗右擊選 ‘Add Standard’, ‘Standard Hibernate’ ‘OK’, ‘Standard Hibernate’ 可改名為 ‘Hibernate’ 再按 ‘OK’. 點擊這個 ‘Hibernate’, 在右下方的視窗點擊 ‘hibernatedoclet’, 在右邊的視窗已可看到預設的資料, 我們選 ‘mergeDir’, 填入 ‘src/META-INF’, 如下圖:

     

    Standard hibernatedoclet 已有 ‘fileset’ ‘hibernate’ 的屬性, 點擊 ‘hibernate’, 在右方視窗選 ‘version’ 填入 ‘2.0’. 再右擊 ‘hibernatedoclet’ ‘Add’ -> ‘fileset’, ‘dir’ 填入 ‘src/tutorial/hibernate’, ‘include’ 填入 ‘**/*.hbm.xml’. 再右擊 ‘hibernatedoclet’ ‘Add’ -> ‘jbossservice’, ‘dataSource’ 填入 ‘java:/MySqlDS’ (根據步驟 1 JBoss 設定的 DataSource), ‘destDir’ 填入 ‘src/META-INF’, ‘dialect’ 填入 ‘net.sf.hibernate.dialect.MySQLDialect’, ‘jndiName’ 填入 ‘java:/hibernate/HibernateFactory’, ‘serviceName’ 填入 ‘Hibernate’, ‘showSql’ 填入 ‘false’, ‘transactionManagerStrategy’ 填入 ‘net.sf.hibernate.transaction.JBossTransactionManagerLookup’, ‘transactionStrategy’ 填入 ‘net.sf.hibernate.transaction.JTATransactionFactory’, ‘useOuterJoin’ 填入 ‘false’, ‘userTransactionName’ 填入 ‘UserTransaction’, ‘OK’, 如下圖:

     

    XDoclet 設定終於完成了, 現在可以運行了. 右擊 tutorial 的項目選 ‘Run XDoclet’, 之後在 tutorial.hibernate 的包裏會新增一個 ‘Num.hbm.xml’ 檔案, src/META-INF 裏會新增一個 ‘jboss-service.xml’, 如圖 . 而這個 ‘jboss-service.xml’ 有小小問題, 這是 XDoclet 對應 Hibernate bug. 當打開 ‘jboss-service.xml’ 時會看到以下代碼:

     

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE server>

     

    <!-- Generated file - Do not edit! -->

     

    <server>

       <mbean code="net.sf.hibernate.jmx.HibernateService" name="jboss.jca:service=Hibernate">

           <depends>jboss.jca:service=RARDeployer</depends>

           <attribute name="MapResources">tutorial/hibernate/Num.hbm.xml</attribute>

           <attribute name="JndiName">java:/hibernate/HibernateFactory</attribute>

           <attribute name="Datasource">java:/MySqlDS</attribute>

           <attribute name="Dialect">net.sf.hibernate.dialect.MySQLDialect</attribute>

           <attribute name="UseOuterJoin">false</attribute>

           <attribute name="ShowSql">false</attribute>

           <attribute name="UserTransactionName">UserTransaction</attribute>

           <attribute name="TransactionStrategy">net.sf.hibernate.transaction.JTATransactionFactory</attribute>

           <attribute name="TransactionManagerLookupStrategy">net.sf.hibernate.transaction.JBossTransactionManagerLookup</attribute>

       </mbean>

      

         <depends>jboss.jca:service=LocalTxCM,name=MySqlDS</depends>

        <attribute name="CacheProvider">net.sf.hibernate.cache.TreeCacheProvider</attribute>

    </server>

     

    尾二和尾三行是在 <mbean> 之外, 所以要手動將這兩行放在 <mbean>…</mbean> 之內. 最後按保存.

     

    7.          現在我們來設定封裝的設置. 右擊 tutorial project, ‘Properties’, 再選 ‘Packaging Configurations’, 因為 Hibernate 要包括 .hbm.xml 的影射檔案, 所以我們要在右手邊的視窗在 ‘FiboEJB.jar’ 下的 ‘/JBoss_IDE_Tutorial/bin’ (即教程 /Tutorial/bin) 中加上包括 tutorial/hibernate 包中的 ‘tutorial/hibernate/*.hbm.xml,tutorial/hibernate/*.class’ 的設定, 右擊 ‘/JBoss_IDE_Tutorial/bin’ ‘Edit’:

     

    接著是 JBoss sar 服務設定, 在右手邊的視窗右擊選 ‘Add Archive’ 填入 ‘HibernateStartup.sar’ ‘OK’. 再右擊這個 ‘HibernateStartup.sar’ ‘Add File’, File 填入 tutorial META-INF 資料夾中的 ‘jboss-service.xml’  ‘/JBoss_IDE_Tutorial/src/META-INF/jboss-service.xml’, prefix 填入 ‘META-INF’, ‘OK’. 因為這個設定要在 ‘FiboApp.ear’ 之前要設置好, 所以要按最右手邊的 ‘Up’ , 放在 ‘FiboApp.ear’ 之上:

     

    ‘FiboApp.ear’ 的封裝設定中, 我們要加上這個 ‘HibernateStartup.sar’, 右擊 ‘FiboApp.ear’ ‘Add File’ 填入項目中的 ‘/JBoss_IDE_Tutorial/HibernateStartup.sar’ 後按 ‘OK’. 同時記得要包括設定 JBoss sar 服務當中的 ‘jboss-app.xml’ 檔案,  右擊 ‘FiboApp.ear’ ‘Add File’ 填入項目中的 ‘/JBoss_IDE_Tutorial/src/META-INF/jboss-app.xml’, prefix 填入 ‘META-INF’ 後按 ‘OK’, 再按 ‘OK’:

     

    ‘jboss-app.xml’ 的代碼如下:

     

    <?xml version="1.0"?>

     

    <jboss-app>

      <loader-repository>localhost:loader=FiboApp.ear</loader-repository>

     

      <module>

        <service>HibernateStartup.sar</service>

      </module>

     

    </jboss-app>

     

    Packaging 設定終於完成了, 現在可以運行了. 右擊 tutorial 的項目選 ‘Run Packaging’. 成功後在 Package Explorer 裏應會增多了一個 ‘HibernateStartup.sar’ 檔案, 如圖:

     

    8.          現在我們可以試試運行了, 先起動 JBoss -> Deploy ‘FiboApp.ear’ to JBoss, browser 輸入 ‘http://127.0.0.1:8080/fibo’, 再輸入 ‘50’, 便可看到以下結果, JBoss-IDE 教程裏的例子是一樣的, 不過裏面已用了 Hibernate 的功能.

     

    後記:

    這個例子的缺憾就是生成 jboss-service.xml 中有 bug. 每當行完一次 ‘Run XDoclet’, 就要手動修改 jboss-service.xml. 而網上好像有 fix, 但因為懶沒有找. 最後, 可能有很多地方出錯或遺漏, 希望大家可以指正及多給意見, 謝謝!

     

    參考資料:

    http://www.jboss.org

    http://www.hibernate.org

    http://xdoclet.sourceforge.net/tags/hibernate-tags.html

    发表于 @ 2004年03月16日 18:11:00|评论(loading...)|编辑

    新一篇: JBoss-IDE 1.2.2 簡介 (Hibernate) 2 | 旧一篇: JBoss-IDE 1.2.2 簡介 (Hibernate) 2

    评论

    #eako 发表于2005-01-11 10:49:00  IP:
    TrackBack来自《JBoss-IDE 1.2.2 簡介 (Hibernate) 3-4》

    Ping Back来自:blog.csdn.net
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © patrickip