This repository has been archived on 2025-01-04. You can view files and clone it, but cannot push or open issues or pull requests.
lwb6/legacyworlds/doc/spring-configuration.txt
Emmanuel BENOîT 35d8891fe3 Spring configuration clean-up
* Regrouped component definitions into one single file per package in
most cases, with a few exceptions

* Added documentation about how the configuration is stored and which
guidelines should be followed when adding or modifying Spring component
configurations.
2012-02-04 12:56:58 +01:00

77 lines
No EOL
3.1 KiB
Text

Spring configuration files
===========================
A lot of the game's code (whether on the server side or on the web clients)
relies on the Spring framework. For most of the components, it is easier to
use XML configuration files rather than in-code configuration. This file
describes the common elements and guidelines to follow for the configuration
files.
Files in the main server package:
lw-server.xml Main configuration file
This file contains the server's top-level configuration. It enables
annotation-based component processing, adds the server termination
component, and loads the configuration files for all elements of the
server: transaction management, meta components, game components for
both the "real" game and the "simple" implementation written for
Milestone 1, session type definitions and commands.
configuration/game.xml "Real" game components
This file acts as a loader for all configuration files the load
elements of the "real" game - that is, parts of the game which have
taken (or are taking) the form they should have in the final version.
configuration/meta.xml Meta components
This file loads the configuration files for all "meta" components.
A "meta" component is any component which is not directly related to
the game itself, but it still necessary: for example account
management or the bug tracking system fall into this category.
configuration/transactions.xml Transaction manager configuration
This file contains the configuration for Spring's transaction
management system. It defines the transaction manager and enables
annotation-based transaction processing.
Files in general component definition packages:
Most of the component definition packages will include one single
configuration file which loads the components the package defines. This
file will be found in either configuration/meta/ or configuration/game/
depending on the purpose of the components. The file in question will
be loaded from the corresponding file in the main server package.
Files in the legacyworlds-server-beans-simple package:
This package includes its own top-level configuration file, unsurprisingly
named configuration/simple.xml, which is included in the server's top-level
configuration and loads all files in the configuration/simple/
sub-directory. Since it corresponds to Milestone 1's "simple" game
implementation, it should only be modified to remove components as they
are moved or replaced.
Files in the legacyworlds-server-beans-user package:
This package includes a "meta" components configuration file, which loads
low-level session management components. In addition, it features the
following configuration files:
configuration/session-types.xml Session types loader
This file loads the configuration files for each specific type of
session.
configuration/session-types/ Session types definitions
This directory contains configuration files which loads all
components for some type of session. Each file should therefore
load at least one session definer component, and a bunch of
command handling components.