<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    跟我一起--分離持久層(rmic)

    Posted on 2007-12-18 17:47 G_G 閱讀(1101) 評論(0)  編輯  收藏 所屬分類: EJB
    學(xué)習(xí)了Rmic后 ,聯(lián)系自己hbm的一些想法。并在實(shí)際開發(fā)中做到分離持久層.
    在次,特留記錄。使用不當(dāng)望大家踴躍拍磚!EJB原理學(xué)習(xí)_RMIC

    效果先上 (你的組員,不需要數(shù)據(jù)庫,不需要hbm,不需要配置文件)
    客戶端:在服務(wù)器開啟,并client端內(nèi)classpath 包含有 *_Stub.class 和 hbmBean等類(底下有ant簡化部署) 在內(nèi)網(wǎng)中隨便那臺(tái)電腦都可以中運(yùn)行,那臺(tái)開發(fā)電腦可以沒有hbm,可以沒有數(shù)據(jù)庫
    package?Client;

    import?java.rmi.Naming;

    import?dao.ILiuDao;
    import?dao.LiuDaoRemote;
    import?dao.imp.DaoFactory;

    public?class?Client?{
    ????
    public?static?void?main(String[]?args)?{
    ????????
    try?{
    ????????????ILiuDao?hello?
    =?(ILiuDao)Naming.lookup("rmi://192.168.1.109:1099/RMI/LiuDaoRemote");
    ????????????System.out.println(hello.getLiu(
    "1").getName());
    ??????}?
    catch(Exception?e)?{
    ????????????e.printStackTrace();
    ????????}
    ????}
    }

    服務(wù)器端:
    dao需求接口? 其他隊(duì)員提供給管理持久層的隊(duì)員
    package?dao;

    import?java.rmi.Remote;
    import?java.rmi.RemoteException;

    import?hibernate.Customer;
    import?hibernate.Liu;

    public?interface?ILiuDao?extends?Remote{
    ????
    public?abstract?Liu?getLiu(String?id)?throws?RemoteException;
    }

    dao實(shí)現(xiàn)
    package?dao;

    import?java.rmi.Naming;
    import?java.rmi.RemoteException;
    import?java.rmi.server.UnicastRemoteObject;

    import?org.hibernate.Query;
    import?org.hibernate.Session;

    import?hbmConfig.HibernateSessionFactory;
    import?hibernate.Customer;
    import?hibernate.Liu;

    public?class?LiuDaoRemote?extends?UnicastRemoteObject?implements?ILiuDao?{
    ????
    public?LiuDaoRemote()?throws?RemoteException?{
    ????????
    super();
    ????}

    ????
    public?Liu?getLiu(String?id)throws?RemoteException{
    ????????Liu?ll?
    =??null?;
    ????????Session?session?
    =?HibernateSessionFactory.currentSession();
    ????????Query?qu?
    =?session.createQuery("from?Liu?lt?where?lt.id=:id");
    ????????ll?
    =?(Liu)qu.setString("id",id).uniqueResult();
    ????????HibernateSessionFactory.closeSession();
    ????????
    return?ll?;
    ????}
    }

    使用ant給客戶端提供 jar

    ????<target?name?=?"rmic">
    ????????
    <rmic?base="${class}"?includes="${rmic.package}/**/*Remote.class"/>
    ??? ??? <!-- 兩個(gè)jar 包 ,給客戶端提供的
    ???? ??? ??? 1. rmic帶有約定的 到入 *_Stub.class并除dao實(shí)現(xiàn)類(*Remote.class
    )打包
    ??? ?? ?? ?? 2. hbmBean 道入 hbmjava
    ? ? ? ?? -->
    ????????
    <jar?destfile="${rh.dir}/rmic.jar">
    ????????????
    <fileset?dir="${class}">
    ??????????????
    <include?name="${rmic.package}/**/*.class"?/>
    ??????????????
    <exclude?name="${rmic.package}/**/*Remote.class"/>
    ????????????
    </fileset>
    ????????
    </jar>
    ????????
    <jar?destfile="${rh.dir}/hbmBean.jar"?>
    ????????????
    <fileset?dir="${class}">
    ??????????????
    <include?name="${hbm.bean.package}/**/*.class"?/>
    ????????????
    </fileset>
    ????????
    </jar>????
    ????
    </target>


    開啟服務(wù)器:
    package?test;

    import?java.rmi.Naming;
    import?java.rmi.RMISecurityManager;
    import?java.rmi.RemoteException;
    import?java.rmi.registry.LocateRegistry;

    import?sun.awt.AppContext;

    import?dao.DaoFactoryRemote;
    import?dao.ILiuDao;
    import?dao.LiuDaoRemote;

    import?hibernate.Liu;

    public?class?StartMain?{
    ????
    ????
    public?static?void?main(String[]?args)?throws?Exception?{
    ???????????
    try?{?
    ????????????????System.setProperty(
    "java.security.policy",?"rmi.policy");??
    ????????????????LocateRegistry.createRegistry(
    1099);??
    ????????????????Naming.rebind(
    "RMI/LiuDaoRemote",?new?LiuDaoRemote());?
    ????????????}?
    catch(Exception?e)?{
    ????????????????e.printStackTrace();
    ????????????}
    ????}

    }





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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 在线观看日本亚洲一区| 又粗又长又爽又长黄免费视频| 国内精品免费视频自在线| 国产精品国产亚洲区艳妇糸列短篇| 亚洲一区视频在线播放| 91香蕉国产线在线观看免费| 亚洲av无码专区在线观看亚| 亚洲中文字幕无码一区| 无码国产精品一区二区免费式影视| a毛片免费全部在线播放**| 久久av无码专区亚洲av桃花岛| 国产一区二区三区免费在线观看 | 亚洲精品午夜在线观看| 国产精品自在自线免费观看| 久久国产精品免费网站| 亚洲另类无码专区丝袜| 亚洲国产二区三区久久| 国产成人aaa在线视频免费观看 | 亚洲国产av玩弄放荡人妇| 亚洲午夜无码久久久久| 在线观看免费成人| 99视频免费播放| 免费无码又爽又黄又刺激网站| 亚洲精品午夜在线观看| 国产精品亚洲片在线| 日本特黄特色免费大片| **真实毛片免费观看| 中文字幕av无码不卡免费| 亚洲国产欧美国产综合一区| 亚洲蜜芽在线精品一区| 在线看无码的免费网站| jizz免费一区二区三区| 亚洲av午夜电影在线观看| 亚洲欧洲日产国码www| 久久精品国产96精品亚洲 | 亚洲一区二区成人| 中文字幕专区在线亚洲| 国产网站在线免费观看| 最近中文字幕无吗高清免费视频| 91精品全国免费观看含羞草 | 免费91麻豆精品国产自产在线观看 |