<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)航:
     
    主站蜘蛛池模板: 久久ww精品w免费人成| 国产亚洲福利一区二区免费看| 亚洲日韩精品无码专区网址| 亚洲国产综合无码一区| 亚洲人成伊人成综合网久久| 亚洲国产精品免费观看| 九九九国产精品成人免费视频| 成人久久免费网站| 中文字幕在线免费观看| 久久亚洲综合色一区二区三区 | 色婷婷亚洲一区二区三区| 免费久久人人爽人人爽av| 亚洲精品无码高潮喷水在线| 热99RE久久精品这里都是精品免费 | 成人奭片免费观看| 亚洲精品国精品久久99热| 亚洲精品国产第1页| 噜噜噜亚洲色成人网站| 亚洲成网777777国产精品| 香蕉大伊亚洲人在线观看| 国产伦精品一区二区三区免费下载 | 亚洲视频免费在线观看| 韩国欧洲一级毛片免费| 亚洲91av视频| 免费人成大片在线观看播放电影| 青娱乐免费在线视频| 亚洲精品国产精品乱码视色 | 亚洲日韩v无码中文字幕| 免费精品无码AV片在线观看| 久久精品国产精品亚洲下载| 亚洲精品又粗又大又爽A片| 亚洲免费在线视频| 亚洲欧美日本韩国| 亚洲人成在线播放网站| 67pao强力打造国产免费| 亚洲AV人无码激艳猛片| 大地资源二在线观看免费高清| 国产黄色免费观看| 亚洲av无码国产精品色在线看不卡| 国产一级一毛免费黄片| 亚洲综合区小说区激情区|