From: <jen...@us...> - 2008-09-26 13:18:13
|
Revision: 1268 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1268&view=rev Author: jenslehmann Date: 2008-09-26 13:18:07 +0000 (Fri, 26 Sep 2008) Log Message: ----------- added parameter to web service for starting it in non-interactive mode Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java 2008-09-26 12:52:19 UTC (rev 1267) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java 2008-09-26 13:18:07 UTC (rev 1268) @@ -47,29 +47,45 @@ */ public class DLLearnerWSStart { + /** + * DL-Learner web service startup method. + * + * @param args + * --non-interactive starts the web service in a mode, where + * it does not wait for user input, i.e. it cannot be terminated + * using exit. Use this in conjunction with nohup. + */ public static void main(String[] args) { - - //create web service logger - SimpleLayout layout = new SimpleLayout(); + + // "interactive" means that the web service waits for the + // user to type "exit" and exit gracefully; it + // non-interactive mode, the web service is started and has + // to be terminated externally (e.g. killing its process); + // when using nohup, please use noninteractive mode + boolean interactive = true; + if (args.length > 0 && args[0].equals("--non-interactive")) { + interactive = false; + } + + // create web service logger + SimpleLayout layout = new SimpleLayout(); ConsoleAppender consoleAppender = new ConsoleAppender(layout); Logger logger = Logger.getRootLogger(); - - FileAppender fileAppenderNormal = null; - File f = new File("log/sparql.txt"); + + FileAppender fileAppenderNormal = null; + File f = new File("log/sparql.txt"); try { - fileAppenderNormal = new FileAppender(layout, "log/log.txt", false); - f.delete(); - f.createNewFile(); + fileAppenderNormal = new FileAppender(layout, "log/log.txt", false); + f.delete(); + f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } - - + logger.removeAllAppenders(); logger.addAppender(consoleAppender); logger.addAppender(fileAppenderNormal); logger.setLevel(Level.INFO); - InetSocketAddress isa = new InetSocketAddress("localhost", 8181); HttpServer server = null; @@ -92,30 +108,32 @@ System.out.println("OK."); - System.out.println("Type \"exit\" to terminate web service."); - boolean terminate = false; - String inputString = ""; - do { - BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); + if(interactive) { + System.out.println("Type \"exit\" to terminate web service."); + boolean terminate = false; + String inputString = ""; + do { + BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); + + try { + inputString = input.readLine(); + } catch (IOException e) { + e.printStackTrace(); + } + + if (inputString.equals("exit")) + terminate = true; + + } while (!terminate); + + System.out.print("Stopping web service ... "); + endpoint.stop(); + + server.stop(1); + threads.shutdown(); + System.out.println("OK."); + } - try { - inputString = input.readLine(); - } catch (IOException e) { - e.printStackTrace(); - } - - if (inputString.equals("exit")) - terminate = true; - - } while (!terminate); - - System.out.print("Stopping web service ... "); - endpoint.stop(); - - server.stop(1); - threads.shutdown(); - System.out.println("OK."); - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |