?? 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 + -