QuickServer Development Guide (8) - XML ​​Configuration

xiaoxiao2021-03-06  48

In the previous chapter we extended Echoserver. We have configured QuickServer in the class, in some cases this is acceptable. However, many applications more hope that users can dynamically configure applications after application startup. Add this feature to QuickServer, you can tell the server to read the XML file and instantiate it.

To configure QuickServer to first write a configuration file, then tell QuickServer to load this configuration. Here is a very simple profile

echoserver v 1.0

echoserver.echocommandhandler

There are now two ways to start the server

Use QuickServer boot parameters - Load here you have to do this to specify the path to the XML configuration file when starting QuickServer. For example java -jar QuickServer.jar -load myxmlconfig.xml or java org.quickserver.net.server.QuickServer -load myxmlconfig.xml or quickserver.bat -load myxmlconfig.xml QuickServer use of initService () method Sometimes you might need to start Use your own JAR file or class file when your app, or you may want to add some code before starting, then this choice is the most appropriate. The following code initializes QuickServer through an XML configuration file. QuickServer myServer = new quickServer (); // pick the xml file form config folderstring conffile = "conf" file.separator "myserver.xml"; object config [] = new object [] {conffile}; if (MyServer. INITSERVICE (config)! = true) {system.err.println ("Could't INIT Server !!);

Now let's write to our EchoServer write profiles. Below is an XML file

01

02 echoserver v 1.0

03 4123

04 127.0.0.1

05

06

07 echoserver.echocommandhandler

08

09

10 echoserver.echoServerquickAuthenNTor

11

12

13 Echoserver.echoserverPoolableData

14

15

16 Info

In one

18

19 4

20 -err timeout 21 5

22 -rrmmax auth try reached

23 -1

24

25 Server Busy / NMAX Connection Reached

26

27

28 -1

29 15

30

31

32

33

34 echoadmin v 1.0

35 4124

36 127.0.0.1

37

38 eChoServer.qsadmincommandplugin

39

40

4142

Below is a modified echoserver.java file, it can now load configuration from XML file

01 Package EchoServer;

02

03 Import Org.quickServer.net. *;

04 Import Org.quickServer.net.server. *;

05

06 import java.io. *;

07 Import java.util.logging. *;

08

09 public class echoserver {

10 public static void main (String s []) {

11

12 QuickServer myserver = new quickserver ();

13

14 // setup logger to log to file

15 logger logger = NULL;

16 FileHandler XMLLog = NULL;

17 FileHandler txtlog = NULL;

18 File log = new file ("./ log /");

19 IF (! Log.canread ()))

20 log.mkdir ();

21 try {

22 logger = logger.getlogger ("Org.quickServer.Net"); // Get Qs Logger

23 logger.setlevel (level.finest);

24 xmllog = New FileHandler ("log / echoServer.xml);

25 logger.addhandler (XMLLOG);

26

27 logger = logger.getlogger ("echoserver"); // Get App Logger

28 logger.setlevel (level.finest);

29 txtLog = New FileHandler ("log / echoServer.txt"); 30 txtLog.setFormatter (New SimpleFormatter ());

31 logger.addhandler (txtlog);

32 // img: sets logger to be used for app.

33 MyServer.SetApplogger (Logger);

34} catch (ioException e) {

35 System.err.Println ("Could Not Create XMLLog FileHandler: E);

36}

37

38 // Store Data Needed to Be Changd by qsadminserver

39 Object [] store = new object [] {"12.00"};

40 MyServer.SetStoreObjects (Store);

41

42 // Load Quick Server from XML

43 string conffile = "config" file.seParetor "echoserver.xml";

44 Object config [] = new object [] {conffile};

45 IF (MyServer.initService (config) == true) {

46 try {

47 myserver.startqsadminserver ();

48 myserver.startServer ();

49} catch (APPEXCEPTION E) {

50 System.out.println ("Error IN Server:" E);

51} catch (Exception E) {

52 System.out.println ("Error:" E);

53}

54}

55}

56}

57 Want to know more XML configuration refers to the Quick Server Java document (the home page has an XML sample) and an example provided by QuickServer.

转载请注明原文地址:https://www.9cbs.com/read-52584.html

New Post(0)