📄 agentservice.java
字号:
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.util.Properties;
import java.rmi.activation.Activatable;
import java.rmi.activation.ActivationDesc;
import java.rmi.activation.ActivationID;
import java.rmi.activation.ActivationGroup;
import java.rmi.activation.ActivationGroupDesc;
import java.rmi.activation.ActivationGroupID;
import java.rmi.MarshalledObject;
public class AgentService extends Activatable
implements Agent
{
public AgentService(ActivationID id, MarshalledObject data) throws RemoteException {
// register object with activation system using anonymous port
super(id, 0);
}
public static void main(String[] args) {
if(args.length < 3) {
System.out.println("usage [hostname] [codebase] [security_policy]");
System.exit(1);
}
String hostname = args[0];
String codebase = args[1];
String policy = args[2];
try {
if (System.getSecurityManager() == null) {
System.setSecurityManager(new RMISecurityManager());
}
// create the activation group description
Properties props = new Properties();
props.put("java.security.policy", policy);
props.put("java.rmi.server.codebase", codebase);
ActivationGroupDesc agd = new ActivationGroupDesc(props, null);
ActivationGroupID agi = ActivationGroup.getSystem().registerGroup(agd);
ActivationGroup.createGroup(agi, agd, 0);
// create the activation object description
ActivationDesc ad = new ActivationDesc("AgentService",
codebase,
null,
true);
// register the activation description with rmid
Agent agent = (Agent) Activatable.register(ad);
// bind the stub to the registry
String name = "//" + hostname + "/AgentService";
Naming.rebind(name, agent);
System.out.println("AgentService bound");
System.exit(0);
} catch (Exception e) {
System.err.println("AgentService exception: " +
e.getMessage());
e.printStackTrace();
}
}
// implementation of the Agent interface
public String talk() {
return "P2P is very cool";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -