package foo; import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.Options; public class test {
public static void main(String[] args) throws Exception{ CommandLineParser parser = new BasicParser();
Options options = new Options();
options.addOption("h","help",false,"Print this usage information");
options.addOption("v","verbose",false,"Print out VERBOSE information");
options.addOption("f","file",true,"File to save program output to");
//Parse the program arguments
CommandLine commandLine = parser.parse(options, args);
// Set the appropriate variables based on supplied options
boolean verbose = false;
String file = ""; if(commandLine.hasOption('h')){
System.out.println("Help Message");
System.exit(0);
} if(commandLine.hasOption('v')){
verbose = true;
} if(commandLine.hasOption('f')){
file = commandLine.getOptionValue('f');
}
}
}
A class that implements the CommandLineParser interface can parse a String array according to the Options specified and return a CommandLine.
//获取配置文件
String configXmlFile = System.getProperty("Config");
//加载配置文件
AbstractApplicationContext applicationContext = new FileSystemXmlApplicationContext(
configXmlFile);
//MBeanServer是一个包含所有注册MBean的仓库.它是JMX代理层的核心
MBeanServer mbs = java.lang.management.ManagementFactory
.getPlatformMBeanServer();
logger.info("注册ApplicationServer.");
ObjectName mbeanName = getApplicationObjectName();
ApplicationServer applicationServer = new ApplicationServer();
applicationServer.setApplicationContext(applicationContext);
mbs.registerMBean(applicationServer, mbeanName); public static ObjectName getApplicationObjectName()
throws MalformedObjectNameException {
ObjectName mbeanName = new ObjectName("fm5:name=ApplicationServer");
return mbeanName;
}