Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

Procedure如何注册和取消注册回调

注册任务涉及以下操作:

步骤
  1. 创建实现上述逻辑的 Java 代码。

    以下示例代码显示了 CrnpClient 类(由 CrnpClient 构造函数调用)的 registerCallbacks 方法的实现。本章稍后将对 createRegistrationString()readRegistrationReply() 的调用进行详细介绍。

    regIpregPort 是由构造函数设置的对象成员。

    private void registerCallbacks() throws Exception
    { 
            Socket sock = new Socket(regIp, regPort);
            String xmlStr = createRegistrationString();
            PrintStream ps = new 
                    PrintStream(sock.getOutputStream());
            ps.print(xmlStr);
            readRegistrationReply(sock.getInputStream();
            sock.close();
    }
  2. 实现 unregister 方法。

    此方法由 CrnpClientshutdown 方法调用。本章稍后将对 createUnregistrationString 的实现进行详细介绍。

    private void unregister() throws Exception
    {
            Socket sock = new Socket(regIp, regPort);
            String xmlStr = createUnregistrationString();
            PrintStream ps = new PrintStream(sock.getOutputStream());
            ps.print(xmlStr);
            readRegistrationReply(sock.getInputStream());
            sock.close();
    }