corbacreator.java
来自「ssd8一个基于CORBA远程调用方法的日程管理系统Exercise5」· Java 代码 · 共 70 行
JAVA
70 行
import java.util.*;
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
import org.omg.PortableServer.POA;
import CreatorFile.*;
/**
* The client creator in a Corba system.
*
* @author Jinjiang
*
*/
public class CorbaCreator extends CreatorPOA {
ORB orb;
org.omg.CORBA.Object obj, remoteRef;
NamingContext namingContext;
NameComponent component;
Vector<String> users = new Vector<String>();
public CorbaCreator(String args[]) {
try {
orb = ORB.init(args, null);
} catch (Exception e) {
}
}
/**
* Do the register operation.
*
*/
public boolean register(String username, String password) {
if (username.equals("") || password.equals(""))
return false;
if (users.contains(username))
return false;
try {
POA rootpoa = (POA) orb.resolve_initial_references("RootPOA");
rootpoa.the_POAManager().activate();
CorbaList list = new CorbaList(username, password);
remoteRef = rootpoa.servant_to_reference(list);
obj = orb.resolve_initial_references("NameService");
namingContext = NamingContextHelper.narrow(obj);
component = new NameComponent(username, "");
NameComponent[] componentList = { component };
namingContext.rebind(componentList, remoteRef);
users.add(username);
return true;
} catch (Exception e) {
}
return false;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?