毕业论文
您现在的位置: 框架 >> 框架介绍 >> 正文 >> 正文

JKAS开发框架技术文档7网络操作RM

来源:框架 时间:2023/2/27

JKASRMI

RMI(RemoteMethodInvocation)远程方法调用。能够让在客户端Java虚拟机上的对象像调用本地对象一样调用服务端java

虚拟机中的对象上的方法

一、配置

[RMI]

;是否启用RMI

rmi_enable=1

;RMI服务所在包名

rmi_package=test.z.rmi

;RMI主机地址

rmi_host=localhost

;RMI端口

rmi_port=

二、服务命名

服务由接口文件和实现文件构成

接口文件必须继承JkasRmi接口

命名方式为服务名可自行命名,遵循驼峰命名规则

实现名由服务接口名+Impl方式命名

如:

Hello为服务接口名

HelloImpl为服务实现命名

三、配置服务表

服务表文件位置:data/rmitab

所有服务名必须写入服务文件rmitab,每行一个

如:

Hello

Test

四、案例

1、服务端

packagetest.z.rmi;

importjava.rmi.RemoteException;

importorg.jkas.core.JkasRmi;

publicinterfaceHelloextendsJkasRmi{

publicStringsayHello(Stringstr)throwsRemoteException;

}

packagetest.z.rmi;

importjava.rmi.RemoteException;

importjava.rmi.server.UnicastRemoteObject;

publicclassHelloImplextendsUnicastRemoteObjectimplementsHello{

publicHelloImpl()throwsRemoteException{

super();

}

publicStringsayHello(Stringstr)throwsRemoteException{

return"Hello,"+str+"!";

}

}

2、客户端(只支持JAVA)

importjava.net.MalformedURLException;

importjava.rmi.Naming;

importjava.rmi.NotBoundException;

importjava.rmi.RemoteException;

importtest.z.rmi.Hello;

publicclassClient{

publicstaticvoidmain(Stringargs[]){

try{

//填写服务器ip

Hellohello=(Hello)Naming.lookup("rmi://localhost:/Hello");

System.out.println(hello.sayHello("Hello"));

}catch(NotBoundExceptione){

System.out.println(e.toString());

}catch(MalformedURLExceptione){

e.printStackTrace();

e.printStackTrace();

}catch(RemoteExceptione){

e.printStackTrace();

}

}

}

转载请注明:http://www.0431gb208.com/sjszlfa/3713.html