Пример #1
0
  @Override
  public int run(String[] args) {
    args = communicator().getProperties().parseCommandLineOptions("Discover", args);

    Ice.ObjectAdapter adapter = communicator().createObjectAdapter("DiscoverReply");
    DiscoverReplyI replyI = new DiscoverReplyI();
    DiscoverReplyPrx reply = DiscoverReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI));
    adapter.activate();

    DiscoverPrx discover =
        DiscoverPrxHelper.uncheckedCast(
            communicator().propertyToProxy("Discover.Proxy").ice_datagram());
    discover.lookup(reply);
    Ice.ObjectPrx base = replyI.waitReply(2000);

    if (base == null) {
      System.err.println(appName() + ": no replies");
      return 1;
    }
    HelloPrx hello = HelloPrxHelper.checkedCast(base);
    if (hello == null) {
      System.err.println(appName() + ": invalid reply");
      return 1;
    }

    hello.sayHello();
    return 0;
  }
Пример #2
0
  @Override
  public int run(String[] args) {
    if (args.length > 0) {
      System.err.println(appName() + ": too many arguments");
      return 1;
    }

    HelloPrx hello = HelloPrxHelper.uncheckedCast(communicator().propertyToProxy("Hello.Proxy"));

    if (hello == null) {
      System.err.println(appName() + ": Hello.Proxy not set");
      return 1;
    }

    hello.sayHello();

    return 0;
  }
Пример #3
0
  @Override
  public synchronized void destroy(Ice.Current c) {
    if (_destroy) {
      throw new Ice.ObjectNotExistException();
    }

    _destroy = true;
    System.out.println("The session " + _name + " is now destroyed.");
    try {
      c.adapter.remove(c.id);
      for (HelloPrx p : _objs) {
        c.adapter.remove(p.ice_getIdentity());
      }
    } catch (Ice.ObjectAdapterDeactivatedException e) {
      // This method is called on shutdown of the server, in
      // which case this exception is expected.
    }
    _objs.clear();
  }
Пример #4
0
  @Override
  public int run(String[] args) {
    if (args.length > 0) {
      System.err.println(appName() + ": too many arguments");
      return 1;
    }

    //
    // Since this is an interactive demo we want to clear the
    // Application installed interrupt callback and install our
    // own shutdown hook.
    //
    setInterruptHook(new ShutdownHook());

    //
    // First we try to connect to the object with the `hello'
    // identity. If it's not registered with the registry, we
    // search for an object with the ::Demo::Hello type.
    //
    HelloPrx hello = null;
    try {
      hello = HelloPrxHelper.checkedCast(communicator().stringToProxy("hello"));
    } catch (Ice.NotRegisteredException ex) {
      IceGrid.QueryPrx query =
          IceGrid.QueryPrxHelper.checkedCast(communicator().stringToProxy("DemoIceGrid/Query"));
      hello = HelloPrxHelper.checkedCast(query.findObjectByType("::Demo::Hello"));
    }
    if (hello == null) {
      System.err.println("couldn't find a `::Demo::Hello' object");
      return 1;
    }

    menu();

    java.io.BufferedReader in =
        new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

    String line = null;
    do {
      try {
        System.out.print("==> ");
        System.out.flush();
        line = in.readLine();
        if (line == null) {
          break;
        }
        if (line.equals("t")) {
          hello.sayHello();
        } else if (line.equals("s")) {
          hello.shutdown();
        } else if (line.equals("x")) {
          // Nothing to do
        } else if (line.equals("?")) {
          menu();
        } else {
          System.out.println("unknown command `" + line + "'");
          menu();
        }
      } catch (java.io.IOException ex) {
        ex.printStackTrace();
      } catch (Ice.LocalException ex) {
        ex.printStackTrace();
      }
    } while (!line.equals("x"));

    return 0;
  }
Пример #5
0
  public int run(String[] args) {
    if (args.length > 0) {
      System.err.println(appName() + ": too many arguments");
      return 1;
    }

    //
    // Since this is an interactive demo we want to clear the
    // Application installed interrupt callback and install our
    // own shutdown hook.
    //
    setInterruptHook(new ShutdownHook());

    HelloPrx twoway =
        HelloPrxHelper.checkedCast(
            communicator()
                .propertyToProxy("Hello.Proxy")
                .ice_twoway()
                .ice_timeout(-1)
                .ice_secure(false));
    if (twoway == null) {
      System.err.println("invalid proxy");
      return 1;
    }
    HelloPrx oneway = (HelloPrx) twoway.ice_oneway();
    HelloPrx batchOneway = (HelloPrx) twoway.ice_batchOneway();
    HelloPrx datagram = (HelloPrx) twoway.ice_datagram();
    HelloPrx batchDatagram = (HelloPrx) twoway.ice_batchDatagram();

    boolean secure = false;
    int timeout = -1;
    int delay = 0;

    menu();

    java.io.BufferedReader in =
        new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

    String line = null;
    do {
      try {
        System.out.print("==> ");
        System.out.flush();
        line = in.readLine();
        if (line == null) {
          break;
        }
        if (line.equals("t")) {
          twoway.sayHello(delay);
        } else if (line.equals("o")) {
          oneway.sayHello(delay);
        } else if (line.equals("O")) {
          batchOneway.sayHello(delay);
        } else if (line.equals("d")) {
          if (secure) {
            System.out.println("secure datagrams are not supported");
          } else {
            datagram.sayHello(delay);
          }
        } else if (line.equals("D")) {
          if (secure) {
            System.out.println("secure datagrams are not supported");
          } else {
            batchDatagram.sayHello(delay);
          }
        } else if (line.equals("f")) {
          communicator().flushBatchRequests();
        } else if (line.equals("T")) {
          if (timeout == -1) {
            timeout = 2000;
          } else {
            timeout = -1;
          }

          twoway = (HelloPrx) twoway.ice_timeout(timeout);
          oneway = (HelloPrx) oneway.ice_timeout(timeout);
          batchOneway = (HelloPrx) batchOneway.ice_timeout(timeout);

          if (timeout == -1) {
            System.out.println("timeout is now switched off");
          } else {
            System.out.println("timeout is now set to 2000ms");
          }
        } else if (line.equals("P")) {
          if (delay == 0) {
            delay = 2500;
          } else {
            delay = 0;
          }

          if (delay == 0) {
            System.out.println("server delay is now deactivated");
          } else {
            System.out.println("server delay is now set to 2500ms");
          }
        } else if (line.equals("S")) {
          secure = !secure;

          twoway = (HelloPrx) twoway.ice_secure(secure);
          oneway = (HelloPrx) oneway.ice_secure(secure);
          batchOneway = (HelloPrx) batchOneway.ice_secure(secure);
          datagram = (HelloPrx) datagram.ice_secure(secure);
          batchDatagram = (HelloPrx) batchDatagram.ice_secure(secure);

          if (secure) {
            System.out.println("secure mode is now on");
          } else {
            System.out.println("secure mode is now off");
          }
        } else if (line.equals("s")) {
          twoway.shutdown();
        } else if (line.equals("x")) {
          // Nothing to do
        } else if (line.equals("?")) {
          menu();
        } else {
          System.out.println("unknown command `" + line + "'");
          menu();
        }
      } catch (java.io.IOException ex) {
        ex.printStackTrace();
      } catch (Ice.LocalException ex) {
        ex.printStackTrace();
      }
    } while (!line.equals("x"));

    return 0;
  }