⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hostcollector.java

📁 在IBM AGLET平台下可实现AGNET注册服务的代码
💻 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 + -