diff options
Diffstat (limited to 'java/demo/Ice/async/Publisher.java')
-rw-r--r-- | java/demo/Ice/async/Publisher.java | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/java/demo/Ice/async/Publisher.java b/java/demo/Ice/async/Publisher.java new file mode 100644 index 00000000000..05b9bd2a4b6 --- /dev/null +++ b/java/demo/Ice/async/Publisher.java @@ -0,0 +1,92 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +import Demo.*; + +public class Publisher extends Ice.Application +{ + private static void + menu() + { + System.out.println("Enter /quit to exit."); + } + + public int + run(String[] args) + { + Ice.Properties properties = communicator().getProperties(); + final String proxyProperty = "Queue.Proxy"; + String proxy = properties.getProperty(proxyProperty); + if(proxy.length() == 0) + { + System.err.println("property `" + proxyProperty + "' not set"); + return 1; + } + + QueuePrx queue = QueuePrxHelper.checkedCast(communicator().stringToProxy(proxy)); + if(queue == null) + { + System.err.println("invalid proxy"); + return 1; + } + + System.out.println("Type a message and hit return to queue a message."); + menu(); + + java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in)); + + String line = null; + try + { + while(true) + { + System.out.print("==> "); + System.out.flush(); + line = in.readLine().trim(); + if(line == null) + { + break; + } + if(line.length() != 0) + { + if(line.charAt(0) == '/') + { + if(line.equals("/quit")) + { + break; + } + menu(); + } + else + { + queue.add(line); + } + } + } + } + catch(java.io.IOException ex) + { + ex.printStackTrace(); + } + catch(Ice.LocalException ex) + { + ex.printStackTrace(); + } + + return 0; + } + + public static void + main(String[] args) + { + Publisher app = new Publisher(); + int status = app.main("Publisher", args, "config.client"); + System.exit(status); + } +} |