summaryrefslogtreecommitdiff
path: root/java/demo/Ice/nested/Client.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/demo/Ice/nested/Client.java')
-rw-r--r--java/demo/Ice/nested/Client.java73
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);
}