@Override
    public void start(String address, int port) throws IOException {
        Configuration conf = CubeConfiguration.getConfiguration();
        if (null == address || "".equals(address)) {
            address = conf.get("rpc.schema.server.address");
        }
        if (port <= 0) {
            port = Integer.valueOf(conf.get("rpc.schema.server.port"));
        }
        if (this.isRunning) {
            return;
        }
        this.server = RPC.getServer(this, address, port, conf);
        this.server.start();
        this.isRunning = true;
    }