corba stub 作用

使用openfusion,例子是grid,IDL编译后产生7个java文件。其中_MyServerStub.java类的作用如下:


在helper类的narrow()方法实现中, 返回的是一个_stub类的实例,也就是说,客户端所有的方法调用,实际调用的是_stub类的方法。


	public static demo.grid.MyServer narrow(final org.omg.CORBA.Object obj)
	{
		if (obj == null)
		{
			return null;
		}
		else if (obj instanceof demo.grid.MyServer)
		{
			return (demo.grid.MyServer)obj;
		}
		else if (obj._is_a("IDL:demo/grid/MyServer:1.0"))
		{
			demo.grid._MyServerStub stub;
			stub = new demo.grid._MyServerStub();
			stub._set_delegate(((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate());
			return stub;
		}
		else
		{
			throw new org.omg.CORBA.BAD_PARAM("Narrow failed");
		}
	}


类图:


你可能感兴趣的:(corba stub 作用)