您的位置:首页 > 产品设计 > UI/UE

QuickServer开发指南(8)- XML配置

2008-09-03 17:13 417 查看

QuickServer开发指南(8)- XML配置

在前面的章节里我们扩展了EchoServer。我们已经在类中配置了QuickServer,在某些情况下这是可接受的。但是很多应用更希望用户能够在应用启动后动态配置应用。给QuickServer添加这方面功能,你可以告诉服务器读取XML文件并实例化它。
要配置QuickServer首先要写配置文件,然后告诉QuickServer加载这个配置。下面是一个非常简单的配置文件
<quickserver>
<name>EchoServer v 1.0</name>
<client-command-handler>
echoserver.EchoCommandHandler
</client-command-handler>
</quickserver>
现在有两种方式启动服务器
使用QuickServer启动参数--load
在这里你要做的是在启动QuickServer时使用"-load"指定xml配置文件的路径。例如
java -jar QuickServer.jar -load myxmlconfig.xml

java org.quickserver.net.server.QuickServer -load myxmlconfig.xml

quickserver.bat -load myxmlconfig.xml

使用QuickServer的initService()方法
有时你可能需要在启动你的应用时使用自己的jar文件或类文件,或者你可能想要在启动前添加一些代码,那么这个选择是最合适的。下面的代码通过xml配置文件初始化了QuickServer。
QuickServer myServer = new QuickServer();
//pick the xml file form config folder
String confFile = "conf" + File.separator + "MyServer.xml";
Object config[] = new Object[] {confFile};
if(myServer.initService(config) != true) {
System.err.println("Could't init server !!");
}

现在我们来给我们的EchoServer写配置文件。下面是XML文件

[align=left]02 </name>[/align]
[align=left]4123<bind-address>05[/align]
[align=left]07 </client-command-handler>[/align]
[align=left]10 </authenticator>[/align]
[align=left]13 </client-data>[/align]
[align=left]<console-logging-level>INFO</console-logging-level>[/align]
[align=left]<!-- some extra config. added just to show -->[/align]
[align=left]4<timeout-msg>-ERR Timeout</timeout-msg>[/align]
[align=left]try[/b]</max-auth-22 -msg>-ERR Max Auth Try Reached</max-auth-[b]23 </max-connection>[/align]
[align=left]25 </max-connection-msg>[/align]
[align=left]28 </max-active>[/align]
[align=left]15</object-pool>[/align]
[align=left]32[/align]
[align=left]34 </name>[/align]
[align=left]4124<bind-address>37 echoserver.QSAdminCommandPlugin[/align]
[align=left]40 42 package
03 04 [b]05[/align]
[align=left]java.io.*;[/align]
[align=left]java.util.logging.*;[/align]
[align=left]public class
public static void [/b]12 QuickServer();[/align]
[align=left]//setup logger to log to file[/align]
[align=left]null[/b]FileHandler xmlLog = 17 ;[/align]
[align=left]new
);[/align]
[align=left](!log.canRead())[/align]
[align=left]21 22 ); logger.setLevel(Level.FINEST);[/align]
[align=left]new
);[/align]
[align=left]26[/align]
[align=left]"echoserver"28 txtLog = "log/EchoServer.txt"txtLog.setFormatter([b]31 //img : Sets logger to be used for app.[/align]
[align=left]34 (IOException e){[/align]
[align=left]"Could not create xmlLog FileHandler : "}[/align]
[align=left]//store data needed to be changed by QSAdminServer[/align]
[align=left]new
};[/align]
[align=left]41[/align]
[align=left][/align]
[align=left]"config";[/align]
[align=left]new [/b]if[/b]) {[/align]
[align=left]{[/align]
[align=left]48 } 50 +e);[/align]
[align=left]catch
System.out.println(53 }[/align]
[align=left]56
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 网络 职场