diff options
author | Matthew Newhook <matthew@zeroc.com> | 2005-09-13 02:25:11 +0000 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2005-09-13 02:25:11 +0000 |
commit | 13c1478b4bf220e3c08055f7af39281e2f5d8875 (patch) | |
tree | 2d80b77591f870688270b6637678eddb3e1c6196 /java/demo/Ice/nested/Client.java | |
parent | updates. (diff) | |
download | ice-13c1478b4bf220e3c08055f7af39281e2f5d8875.tar.bz2 ice-13c1478b4bf220e3c08055f7af39281e2f5d8875.tar.xz ice-13c1478b4bf220e3c08055f7af39281e2f5d8875.zip |
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=335
Diffstat (limited to 'java/demo/Ice/nested/Client.java')
-rw-r--r-- | java/demo/Ice/nested/Client.java | 73 |
1 files changed, 71 insertions, 2 deletions
diff --git a/java/demo/Ice/nested/Client.java b/java/demo/Ice/nested/Client.java index fda6f12f70a..2f4499bb0d4 100644 --- a/java/demo/Ice/nested/Client.java +++ b/java/demo/Ice/nested/Client.java @@ -7,12 +7,81 @@ // // ********************************************************************** -public class Client +import Demo.*; + +public class Client extends Ice.Application { + public int + run(String[] args) + { + Ice.Properties properties = communicator().getProperties(); + final String proxyProperty = "Nested.Client.NestedServer"; + String proxy = properties.getProperty(proxyProperty); + if(proxy.length() == 0) + { + System.err.println("property `" + proxyProperty + "' not set"); + return 1; + } + + NestedPrx nested = NestedPrxHelper.checkedCast(communicator().stringToProxy(proxy)); + if(nested == null) + { + System.err.println("invalid proxy"); + return 1; + } + + Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Nested.Client"); + NestedPrx self = NestedPrxHelper.uncheckedCast(adapter.createProxy(Ice.Util.stringToIdentity("nestedClient"))); + adapter.add(new NestedI(self), Ice.Util.stringToIdentity("nestedClient")); + adapter.activate(); + + System.out.println("Note: The maximum nesting level is sz * 2, with sz being"); + System.out.println("the maximum number of threads in the server thread pool. If"); + System.out.println("you specify a value higher than that, the application will"); + System.out.println("block or timeout."); + System.out.println(); + + java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in)); + + String s = null; + do + { + try + { + System.out.print("enter nesting level or 'x' for exit: "); + System.out.flush(); + s = in.readLine(); + if(s == null) + { + break; + } + int level = Integer.parseInt(s); + if(level > 0) + { + nested.nestedCall(level, self); + } + } + catch(NumberFormatException ex) + { + } + catch(java.io.IOException ex) + { + ex.printStackTrace(); + } + catch(Ice.LocalException ex) + { + ex.printStackTrace(); + } + } + while(!s.equals("x")); + + return 0; + } + public static void main(String[] args) { - NestedClient app = new NestedClient(); + Client app = new Client(); int status = app.main("Client", args, "config"); System.exit(status); } |