java远程方法调用(rmi)--好_RMI-Java远程方法调用的实现(二)
System.out.println();
System.out.println(
"java.lang.ArithmeticException");
System.out.println(ae);
}
}
}
6、 運(yùn)行RMI系統(tǒng)
上面建立了所有運(yùn)行這個(gè)簡(jiǎn)單RMI系統(tǒng)所需的文件,現(xiàn)在可以運(yùn)行這個(gè)RMI系統(tǒng)了,由于是在命令控制臺(tái)下運(yùn)行這個(gè)系統(tǒng)的,所以必須開(kāi)啟三個(gè)控制臺(tái)窗口,一個(gè)運(yùn)行服務(wù)器,一個(gè)運(yùn)行客戶端,還有一個(gè)運(yùn)行RMIRegistry。
1、首先運(yùn)行注冊(cè)程序RMIRegistry:
>rmiregistry
2、在第二個(gè)控制臺(tái)里,運(yùn)行服務(wù)器CalculatorService,因?yàn)镽MI的安全機(jī)制將在服務(wù)端發(fā)生作用,所以必須增加一條安全策略。以下是對(duì)應(yīng)安全策略的例子
grant {
permission java.security.AllPermission "", "";
};
注意:這是一條簡(jiǎn)單的安全策略,它允許任何人做任何事,對(duì)于更加關(guān)鍵性的應(yīng)用,你必須指定更加詳細(xì)安全策略。
現(xiàn)在為了運(yùn)行服務(wù)端,需要除客戶類(lèi)(CalculatorClient.class)之外的所有的類(lèi)文件。確認(rèn)安全策略在policy.txt文件之后,使用如下命令來(lái)運(yùn)行服務(wù)器。
> java -Djava.security.policy=policy.txt CalculatorServer
這個(gè)服務(wù)器就開(kāi)始工作了,把接口的實(shí)現(xiàn)加載到內(nèi)存等待客戶端的聯(lián)接。
3、現(xiàn)在切換到第三個(gè)控制臺(tái),啟動(dòng)客戶端。
為了在其他的機(jī)器運(yùn)行客戶端程序需要一個(gè)遠(yuǎn)程接口(Calculator.class) 和一個(gè)stub(CalculatorImpl_Stub.class)。 使用如下命令運(yùn)行客戶端
prompt> java -Djava.security.policy=policy.txt CalculatorClient
五、結(jié)束語(yǔ)
RMI為真正面向?qū)ο蟮姆植际接?jì)算提供了可靠的平臺(tái)。 您可使用RMI連接到Java組件,或用其它語(yǔ)言編寫(xiě)的現(xiàn)有 的組件。隨著Java在您的環(huán)境中所具備的重要性的日益 增加,您還可擴(kuò)大Java的使用范圍,并獲得所有的好處 --無(wú)需移植、低維護(hù)成本和安全而保密的環(huán)境。RMI為您 提供了循序漸進(jìn)地將Java擴(kuò)展到您的系統(tǒng)所有部分的平 臺(tái),您可根據(jù)需要適時(shí)地添加Java服務(wù)器和客戶機(jī)。只 要您添加了Java,那么它所有的好處都會(huì)隨之而來(lái)。RMI 則使之更簡(jiǎn)單、保密和強(qiáng)大
來(lái)源:考試大-Java認(rèn)證
責(zé)編:水自流??評(píng)論?糾錯(cuò)
總結(jié)
以上是生活随笔為你收集整理的java远程方法调用(rmi)--好_RMI-Java远程方法调用的实现(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 读取流的字符编码格式_如何使用
- 下一篇: java aio_java中的AIO