📄 servertool.java
字号:
final static int illegalServerId = -1; public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { int serverId = illegalServerId; String orbId = ""; try { // parse command String arg; int i = 0; while (i < cmdArgs.length) { arg = cmdArgs[i++]; if (arg.equals("-serverid")) { if (i < cmdArgs.length) serverId = (Integer.valueOf(cmdArgs[i++])).intValue(); else return parseError; } else if (arg.equals("-applicationName")) { if (i < cmdArgs.length) serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[i++] ) ; else return parseError; } else if (arg.equals("-orbid")) { if (i < cmdArgs.length) orbId = cmdArgs[i++]; } } // the server id has to be specified if (serverId == illegalServerId) return parseError; // locate the server // deactivate the server Locator locator = LocatorHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_LOCATOR_NAME )); ServerLocationPerORB location = locator.locateServerForORB(serverId, orbId); // print success message out.println(CorbaResourceUtil.getText("servertool.locateorb2", location.hostname)); int numEntries = location.ports.length; for (i = 0; i < numEntries; i++) { EndPointInfo Port = location.ports[i]; out.println("\t\t"+ Port.port + "\t\t" + Port.endpointType + "\t\t" + orbId ); } } catch (InvalidORBid ex) { out.println(CorbaResourceUtil.getText("servertool.nosuchorb")); } catch (ServerHeldDown ex) { out.println(CorbaResourceUtil.getText("servertool.helddown")); } catch (ServerNotRegistered ex) { out.println(CorbaResourceUtil.getText("servertool.nosuchserver")); } catch (Exception ex) { ex.printStackTrace(); } return commandDone; }}class GetServerID implements CommandHandler{ public String getCommandName() {return "getserverid" ; } public void printCommandHelp( PrintStream out, boolean helpType ) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.getserverid")); } else { out.println(CorbaResourceUtil.getText("servertool.getserverid1")); } } public boolean processCommand( String[] cmdArgs, ORB orb, PrintStream out ) { if ((cmdArgs.length == 2) && cmdArgs[0].equals( "-applicationName" )) { String str = (String)cmdArgs[1] ; try { Repository repository = RepositoryHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME )); try { int result = repository.getServerID( str ) ; out.println() ; out.println(CorbaResourceUtil.getText("servertool.getserverid2", str, Integer.toString(result))); out.println() ; } catch (ServerNotRegistered e) { out.println(CorbaResourceUtil.getText("servertool.nosuchserver")); } } catch (Exception ex) { ex.printStackTrace() ; } return commandDone ; } else return parseError ; }}class ListServers implements CommandHandler{ public String getCommandName() {return "list";} public void printCommandHelp(PrintStream out, boolean helpType) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.list")); } else { out.println(CorbaResourceUtil.getText("servertool.list1")); } } final static int illegalServerId = -1; public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { int serverId = illegalServerId; boolean listOneServer = false; ServerDef serverDef; // determine if list single server or all servers listOneServer = (cmdArgs.length!=0) ; if ((cmdArgs.length == 2) && cmdArgs[0].equals("-serverid")) serverId = (Integer.valueOf(cmdArgs[1])).intValue(); if ((serverId == illegalServerId) && listOneServer) return parseError; // process the list server command try { Repository repository = RepositoryHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME )); if (listOneServer) { try { serverDef = repository.getServer(serverId); out.println(); printServerDef(serverDef, serverId, out); out.println(); } catch (ServerNotRegistered e) { out.println(CorbaResourceUtil.getText("servertool.nosuchserver")); } } else { int[] servers = repository.listRegisteredServers(); out.println(CorbaResourceUtil.getText("servertool.list2")); sortServers(servers); for (int i=0; i < servers.length; i++) { try { serverDef = repository.getServer(servers[i]); out.println("\t " + servers[i] + "\t\t" + serverDef.serverName + "\t\t" + serverDef.applicationName); } catch (ServerNotRegistered e) {} } } } catch (Exception ex) { ex.printStackTrace(); } return commandDone; }static void printServerDef(ServerDef serverDef, int serverId, PrintStream out){ out.println(CorbaResourceUtil.getText("servertool.appname", serverDef.applicationName)); out.println(CorbaResourceUtil.getText("servertool.name", serverDef.serverName)); out.println(CorbaResourceUtil.getText("servertool.classpath", serverDef.serverClassPath)); out.println(CorbaResourceUtil.getText("servertool.args", serverDef.serverArgs)); out.println(CorbaResourceUtil.getText("servertool.vmargs", serverDef.serverVmArgs)); out.println(CorbaResourceUtil.getText("servertool.serverid", serverId));}/** * Do a simple bubble sort to sort the server ids in ascending * order. */static void sortServers(int[] serverIds){ int size = serverIds.length; int lowest; for (int i=0; i < size; i++) { lowest = i; for (int j=i+1; j < size; j++) { if (serverIds[j] < serverIds[lowest]) lowest = j; } if (lowest != i) { int temp = serverIds[i]; serverIds[i] = serverIds[lowest]; serverIds[lowest] = temp; } }}}class ListActiveServers implements CommandHandler{ public String getCommandName() {return "listactive";} public void printCommandHelp(PrintStream out, boolean helpType) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.listactive")); } else { out.println(CorbaResourceUtil.getText("servertool.listactive1")); } } public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { ServerDef serverDef; // process the list active servers command try { Repository repository = RepositoryHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME )); Activator activator = ActivatorHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME )); int[] servers = activator.getActiveServers(); out.println(CorbaResourceUtil.getText("servertool.list2")); ListServers.sortServers(servers); for (int i=0; i < servers.length; i++) { try { serverDef = repository.getServer(servers[i]); out.println("\t " + servers[i] + "\t\t" + serverDef.serverName + "\t\t" + serverDef.applicationName); } catch (ServerNotRegistered e) {} } } catch (Exception ex) { ex.printStackTrace(); } return commandDone; }}class ListAliases implements CommandHandler{ public String getCommandName() {return "listappnames";} public void printCommandHelp(PrintStream out, boolean helpType) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.listappnames")); } else { out.println(CorbaResourceUtil.getText("servertool.listappnames1")); } } public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { try { Repository repository = RepositoryHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME )); String[] applicationNames = repository.getApplicationNames(); out.println(CorbaResourceUtil.getText("servertool.listappnames2")); out.println(); for (int i=0; i < applicationNames.length; i++) out.println( "\t" + applicationNames[i] ) ; } catch (Exception ex) { ex.printStackTrace(); } return commandDone; }}class ShutdownServer implements CommandHandler{ public String getCommandName() {return "shutdown";} public void printCommandHelp(PrintStream out, boolean helpType) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.shutdown")); } else { out.println(CorbaResourceUtil.getText("servertool.shutdown1")); } } final static int illegalServerId = -1; public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { int serverId = illegalServerId; try { // determine the server id if (cmdArgs.length == 2) if (cmdArgs[0].equals("-serverid")) serverId = (Integer.valueOf(cmdArgs[1])).intValue(); else if (cmdArgs[0].equals("-applicationName")) serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[1] ) ; if (serverId == illegalServerId) return parseError; // shutdown the server Activator activator = ActivatorHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME )); activator.shutdown(serverId); out.println(CorbaResourceUtil.getText("servertool.shutdown2")); } catch (ServerNotActive ex) { out.println(CorbaResourceUtil.getText("servertool.servernotrunning")); } catch (ServerNotRegistered ex) { out.println(CorbaResourceUtil.getText("servertool.nosuchserver")); } catch (Exception ex) { ex.printStackTrace(); } return commandDone; }}class StartServer implements CommandHandler{ public String getCommandName() {return "startup";} public void printCommandHelp(PrintStream out, boolean helpType) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.startserver")); } else { out.println(CorbaResourceUtil.getText("servertool.startserver1")); } } final static int illegalServerId = -1; public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { int serverId = illegalServerId; try { // determine the server id if (cmdArgs.length == 2) if (cmdArgs[0].equals("-serverid")) serverId = (Integer.valueOf(cmdArgs[1])).intValue(); else if (cmdArgs[0].equals("-applicationName")) serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[1] ) ; if (serverId == illegalServerId) return parseError; // startup the server Activator activator = ActivatorHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME )); activator.activate(serverId); out.println(CorbaResourceUtil.getText("servertool.startserver2")); } catch (ServerNotRegistered ex) { out.println(CorbaResourceUtil.getText("servertool.nosuchserver")); } catch (ServerAlreadyActive ex) { out.println(CorbaResourceUtil.getText("servertool.serverup")); } catch (ServerHeldDown ex) { out.println(CorbaResourceUtil.getText("servertool.helddown")); } catch (Exception ex) { ex.printStackTrace(); } return commandDone; }}class Quit implements CommandHandler{ public String getCommandName() {return "quit";} public void printCommandHelp(PrintStream out, boolean helpType) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.quit")); } else { out.println(CorbaResourceUtil.getText("servertool.quit1")); } } public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { System.exit(0); return commandDone; }}class Help implements CommandHandler{ public String getCommandName() {return "help";} public void printCommandHelp(PrintStream out, boolean helpType) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.help")); } else { out.println(CorbaResourceUtil.getText("servertool.help1")); } } public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { return commandDone; }}class ListORBs implements CommandHandler{ public String getCommandName() {return "orblist";} public void printCommandHelp(PrintStream out, boolean helpType) { if (helpType == longHelp) { out.println(CorbaResourceUtil.getText("servertool.orbidmap")); } else { out.println(CorbaResourceUtil.getText("servertool.orbidmap1")); } } final static int illegalServerId = -1; public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out) { int serverId = illegalServerId; try { if (cmdArgs.length == 2) { if (cmdArgs[0].equals("-serverid")) serverId = (Integer.valueOf(cmdArgs[1])).intValue(); else if (cmdArgs[0].equals("-applicationName")) serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[1] ) ; } // the server id has to be specified if (serverId == illegalServerId) return parseError; // activate the server Activator activator = ActivatorHelper.narrow( orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME )); String[] orbList = activator.getORBNames(serverId); out.println(CorbaResourceUtil.getText("servertool.orbidmap2")); for (int i = 0; i < orbList.length ; i++) { out.println("\t "+ orbList[i]); } } catch (ServerNotRegistered ex) { out.println("\tno such server found."); } catch (Exception ex) { ex.printStackTrace(); } return commandDone; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -