📄 hostcollector.java
字号:
package examples.finder;
import com.ibm.aglet.*;
import com.ibm.aglet.event.MobilityEvent;
import com.ibm.aglet.event.MobilityListener;
import java.io.PrintStream;
import java.net.URL;
import java.util.Enumeration;
import java.util.Hashtable;
public class HostCollector extends Aglet
implements MobilityListener
{
Hashtable hostList;
public HostCollector()
{
}
public void appendList(Hashtable hashtable)
{
for(Enumeration enumeration = hashtable.keys(); enumeration.hasMoreElements();)
{
Object obj = enumeration.nextElement();
if(hostList.get(obj) == null)
{
System.out.println("new: " + obj);
hostList.put(obj, "new");
} else
{
System.out.println("key: " + obj + " value: " + hostList.get(obj));
}
}
}
public boolean handleMessage(Message message)
{
if(message.sameKind("dialog"))
{
try
{
System.out.println(hostList);
}
catch(Exception exception)
{
exception.printStackTrace();
}
return true;
}
if(message.sameKind("shutdown"))
{
try
{
deactivate(0L);
}
catch(Exception exception1) { }
return true;
} else
{
return true;
}
}
public void onArrival(MobilityEvent mobilityevent)
{
AgletProxy agletproxy = (AgletProxy)getAgletContext().getProperty("hostlist");
hostList.put(getAgletContext().getHostingURL().toString(), "running");
try
{
if(agletproxy == null || !agletproxy.isValid())
agletproxy = getAgletContext().createAglet(getCodeBase(), "examples.finder.HostList", hostList);
agletproxy.sendMessage(new Message("append", hostList));
Hashtable hashtable = (Hashtable)agletproxy.sendMessage(new Message("getlist"));
if(hashtable != null)
appendList(hashtable);
}
catch(Exception exception)
{
System.out.println(exception);
}
}
public void onCreation(Object obj)
{
hostList = new Hashtable();
AgletProxy agletproxy = (AgletProxy)getAgletContext().getProperty("hostlist");
hostList.put(getAgletContext().getHostingURL().toString(), "running");
try
{
if(agletproxy == null || !agletproxy.isValid())
agletproxy = getAgletContext().createAglet(getCodeBase(), "examples.finder.HostList", hostList);
}
catch(Exception exception)
{
System.out.println(exception);
}
addMobilityListener(this);
}
public void onDispatching(MobilityEvent mobilityevent)
{
}
public void onRetraction(MobilityEvent mobilityevent)
{
}
public void onReverting(MobilityEvent mobilityevent)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -