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

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

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

    hello world

    隨筆 - 2, 文章 - 63, 評論 - 0, 引用 - 0
    數(shù)據(jù)加載中……

    RMI連接的簡單例子

    自己依照已有的源代碼,主要是在JMX框架下,實現(xiàn)了RMI遠(yuǎn)程調(diào)用的一個簡單的例子,主要是為了驗證RMI調(diào)用時文件的配置情況。
    主要有forPlay類及對應(yīng)的MBean,Server端以及client端,其中,clint端是和其他文件異地配置的,在同一臺機子上更沒問題了。通過RMI遠(yuǎn)程連接,我們可以實現(xiàn)一個瘦客戶端的,即主要的MBean是放在Server端,客戶端使用相應(yīng)的類時,只需要通過RMI調(diào)用就行了,另外,MBean只需和服務(wù)器同包放置或者服務(wù)器能夠找到的位置,無須顯式的注冊,這是我實現(xiàn)這個程序的主要目的。
    server端的源代碼和JMX下RMI遠(yuǎn)程調(diào)用的入門(環(huán)境變量的設(shè)置)里面的Server.java文件是一樣的,涉及到環(huán)境變量以及如何運行,這篇文章里也有詳細(xì)介紹。這里只給出我今天寫的一段代碼
    整個程序一共有四個文件
    forReplay.java、forReplayMBean.java、Client.java以及前面說到的Server.java,這里給出前三個文件的代碼:
    ***********************************************************
    forReplay.java
    ***************************************
    public class forReplay

     implements forReplayMBean{
     
     private String State="待調(diào)用";
     
     public void play(){
      System.out.println("play函數(shù)調(diào)用成功!");
      
     }

     public String getState() {
      
      return State;
     }

     public void setState(String s) {
      State=s;
      
     }

    }
    ***********************************************************
    ***********************************************************
    forReplayMBean.java
    ***************************************
    public interface forReplayMBean {
     
     public String getState();
     public void setState(String s);
     public void play();

    }
    ***********************************************************
    ***********************************************************
    Client.java
    ***************************************
    import javax.management.MBeanServerConnection;
    import javax.management.ObjectName;
    import javax.management.remote.JMXConnector;
    import javax.management.remote.JMXConnectorFactory;
    import javax.management.remote.JMXServiceURL;

    public class Client {

        public static void main(String[] args) {
            try {
             
                // 創(chuàng)建RMI連接客戶端到RMI連接服務(wù)器
                JMXServiceURL url = new JMXServiceURL(
            "service:jmx:rmi:///jndi/rmi://localhost:9999/server");
                JMXConnector jmxc = JMXConnectorFactory.connect(url, null);

                // 獲得一個MBean服務(wù)器連接
                MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();

                //創(chuàng)建一個forPlay類
                ObjectName mbeanName = new ObjectName("chengang:name=forReplay");
                mbsc.createMBean("forReplay", mbeanName, null, null);

               
                System.out.println("\nMBean數(shù)量為" + mbsc.getMBeanCount());// 獲得Mbean的數(shù)量
                mbsc.invoke(mbeanName,"play", null, null);//調(diào)用forPlay類中的play()函數(shù)

                Thread.sleep(2000);//掛起2000毫秒,等待服務(wù)器反應(yīng).
             
                mbsc.unregisterMBean(mbeanName); //注銷MBean的注冊,不是必要的
                jmxc.close();// 關(guān)閉連接,不是必要的
               
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    ***********************************************************
    ***********************************************************

    posted on 2008-04-03 21:47 聽風(fēng) 閱讀(516) 評論(0)  編輯  收藏 所屬分類: JAVA

    主站蜘蛛池模板: 亚洲国产精品成人精品小说| 亚洲人成无码网WWW| 亚洲AV日韩精品久久久久久久| 久久精品亚洲日本波多野结衣| 国产精品视频免费一区二区 | 成在人线av无码免费高潮水| 在线观看亚洲精品福利片| 国产成人高清精品免费观看| 国产亚洲精aa成人网站| 中文字幕在线观看免费| 亚洲av永久无码精品秋霞电影影院 | 亚洲成网777777国产精品| 老司机午夜精品视频在线观看免费 | 免费国产午夜高清在线视频| 亚洲ⅴ国产v天堂a无码二区| 114一级毛片免费| 亚洲人成未满十八禁网站| 国产免费小视频在线观看| 又硬又粗又长又爽免费看 | a级毛片高清免费视频就| 亚洲激情视频在线观看| 无码人妻一区二区三区免费| 亚洲国产成人久久精品软件| 亚洲国产香蕉人人爽成AV片久久 | 成全高清视频免费观看| 免费国产黄网站在线看| 无码乱人伦一区二区亚洲一 | 日韩精品亚洲专区在线观看| 免费久久人人爽人人爽av | 亚洲综合免费视频| 国产yw855.c免费视频| 青柠影视在线观看免费高清| 亚洲福利视频网站| 免费人成在线观看网站视频 | 全黄A免费一级毛片| 亚洲国产精品久久久久网站| 日本人的色道www免费一区| 嫩草成人永久免费观看| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲欧洲日产国码无码久久99| 精品久久久久久久久免费影院|