📄 helloclient.java
字号:
//声明本接口所在的包
package examples.rmi_iiop.hello;
//声明本类引入的其他类
import java.lang.*;
import org.omg.CosNaming.NameComponent;
import org.omg.CosNaming.NamingContextHelper;
import org.omg.CosNaming.NamingContext;
import org.omg.CORBA.ORB;
import org.omg.CORBA.Object;
/**
* 这个CORBA客户端初始化一个ORB,获得远程对象HelloServer的一个引用,并调用HelloServer的方法。
*
*/
final public class HelloClient {
//JNDI树中绑定的的远程对象名
static String rmiObj = "HelloServer_iiop";
//主方法
public static void main(String args[]) {
if (args.length < 1) {
//打印用法提示
System.out.println("用法: java rmi-iiop.hello.HelloClient "
+ "serverIOR");
} else {
// 初始化ORB
ORB orb = ORB.init(args, null);
// 从命令行参数获取 WebLogic 服务器IOR
String ior = args[0];
org.omg.CORBA.Object obj = orb.string_to_object(ior);
// 获取WebLogic服务器的名称上下文
NamingContext nc = NamingContextHelper.narrow(obj);
// 名称组件
NameComponent nComp = new NameComponent(rmiObj, "");
// 名称组件数组
NameComponent path[] = {nComp};
try {
//获取远程对象
obj = nc.resolve(path);
HelloWorld hi = HelloWorldHelper.narrow(obj);
// 调用远程方法
hi.sayHello();
System.out.println("Method call completed successfully!");
} catch (Throwable t) {
t.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -