9. RMI を聞ってみた
¢
g佩桑
C rmiregistry
C Server
C Client
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/rmi/hello/hello-world.html 歌深
10. チュ`トリアルにない坪否
¢
rmiregistry の CLASSPATH O協
C Acpi インタ`フェ`スが歌孚できる
C O協しないと、 Server 箸ら bind rに參和箭翌
java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments;
nested exception is:
java.lang.ClassNotFoundException: Acpi
11. チュ`トリアルにない坪否
¢
Server 箸ら hostname 峺協
C Server 箸ら仝 -Djava.rmi.server.hostname
=xxx 々を聞喘
C 聞喘しないと Client 箸ら參和の箭翌
java.rmi.ConnectException: Connection refused to host:
127.0.0.1;
nested exception is:
java.net.ConnectException: Connection refused
☆KVM 蒙嗤の}かもしれない
12. チュ`トリアルにない坪否
¢
Server 箸能K阻r unbind をする
// unbind をg仏
Registry registry = LocateRegistry.getRegistry();
registry.unbind("BIND_NAME");
C unbind しないと、壅業 Server 箸ら bind をする
と參和の箭翌
java.rmi.AlreadyBoundException: BIND_NAME
☆rmiregistry を壅軟咾垢襪、貧のコ`ドをg佩する駅勣がある
13. チュ`トリアルにない坪否
¢
Server 箸ら port 桑催峺協
☆ 峺協しないと、ランダムなポ`トを聞喘する
int port = 12345;
// Acpi インタ`フェ`スのg廾クラス
AcpiServer obj = new AcpiServer();
Acpi stub =
(Acpi) UnicastRemoteObject.exportObject(obj, port);
// bind をg仏
Registry registry = LocateRegistry.getRegistry();
registry.bind("BIND_NAME", stub);
☆rmiregistry のデフォルトポ`トは 1099