XX1 Main Configuration
XX1 Server configuration is held in XML text files that are portable across operating platforms. There is one top level configuration file that by default is named xxscfg.xml. This file must be passed as parameter to the server execution.
In a normal installation you will find the configuration files and data tables in a subdirectory called "config". The XX1 configuration reader supports XBase and XLink statements that allow you to split out configuration sections for easier system management. You will notice that the root node of xxscfg.xml for example specifies the base path for all configuration files as xml:base="/xxs/bin/config"
. XBase and XLink statements can be used at any level and apply for all nested children unless overridden with a new XBase statement. If no XBase is specified, then the current directory is the reference.
Configuration Parameter
Node | Description | Default (if not specified) |
---|---|---|
interfaces | External Interface Loader | |
interfaces/if | Interface entry. Attributes:
| |
interfaces/if/port | Interface listening port | |
interfaces/if/bind | Listening Network Interface (ip-address). So if multiple network devices are available you can specify the local IP address of the network device that should be listened to. | use any |
interfaces/if/traceid | Trace id for use with XXTraceConsole when tracing the interface. | |
interfaces/if/threadpool | Pre-create client threads for performance improvement to save the thread creation overhead. | 0 |
interfaces/if/cpu | Force selection of specific CPU number for all threads, starts with 0 | Let the operating system select from all available CPUs |
interfaces/if/timeout | Specifies the time in seconds after which a permanent socket connection will be dropped by the server if no packet gets received on this socket. This value has to be equal or slightly higher than the sessiontimeout value in xxscfg.xml for this instance (at least if you want to use this instance as a proxy or use keep alive setting in general). | 120s |
log | Error Logging | |
log/file | File Name for main XX1 log file. | xxs.log |
log/fileopenmode | File Open mode at server start. Values:
| create |
trace | Live Tracing | |
trace/port | Listening port for XXTraceConsole | |
trace/bind | Listening Network Interface (ip-address). So if multiple network devices are available you can specify the local IP address of the network device that should be listened to. | use any |
windows/service_displayname | Display Name of Windows Service. Must be unique on a machine. | XX1 Server |
windows/service_description | Description of Windows Service | |
xxe | Transaction Engine | |
xxe/maxsessions | Maximum number of concurrent transactions | 4096 |
xxe/sessiontimeout | Inactivitity timeout for locked sessions (contexts) in seconds | none |
xxe/lookup | Encode Decode Tables | |
xxe/lookup/folder | Directory where tables reside | current |
xxe/lookup/file | Table index | xxencode.xml |
xxe/provider | Provider Adapter | |
xxe/provider/adapter | Adapter entry. Attributes:
| |
xxe/transformations | Transformation Services. Attributes:
| |
xxe/transformations/service | Service entries. Attributes:
| |
xxe/transactionfilter | Transaction Filter | |
xxe/transactionfilter/filter | Filter entries. Attributes:
| |
xxe/scripting | Script Engines | |
xxe/scripting/engine | Engine entries. Attributes:
| |
xxe/transactions | Transaction/Message Map | |
xxe/transactions/tmap | Map Table | |
xxe/transactions/tmap/t | Transaction Implementation. Attributes:
|
Example:
<xxscfg>
<interfaces>
<if name="SOAP" lib="soapif">
<port>8800</port>
<bind/>
<traceid>SOAP</traceid>
<threadpool>0</threadpool>
<cpu>0</cpu>
</if>
</interfaces>
<log>
<file>xxs.log</file>
<!--fileopenmode>append</fileopenmode-->
</log>
<trace>
<port>3070</port>
<bind/>
</trace>
<unix>
<filemaxsoftlimit>1024</filemaxsoftlimit>
<filemaxhardlimit>4096</filemaxhardlimit>
</unix>
<xxe>
<maxsessions>1024</maxsessions>
<sessiontimeout>300</sessiontimeout>
<lookup>
<folder>lookup</folder>
<file>encodedecode.xml</file>
</lookup>
<provider>
<adapter name="MyProvider1" lib="xxghost" config="xxghostcfg.xml"/>
<adapter name="MyProvider2" lib="xxproxy" config="proxycfg.xml"/>
<adapter name="MyProvider3" lib="xxmetapool" config="amadeuswsmpcfg.xml"/>
</provider>
<transformations default="MS">
<service name="MS" lib="xxtMS" config=""/>
<service name="Xalan" lib="xxtXalan" config=""/>
</transformations>
<scripting>
<engine name="JavaScript" lib="xxjse" config="" files=".js"/>
</scripting>
<transactions>
<tmap>
<t name="TestRequest" provider="MyProvider1" engine="JavaScript" script="test1.js"/>
<t name="TestRequest" provider="MyProvider2" engine="JavaScript" script="test2.js"/>
</tmap>
<link xlink:type="simple" xlink:href="More tmap entries.xml"/>
<link xlink:type="simple" xlink:href="AmadeusWS/AmadeusWSTransactionMap.xml"/>
</transactions>
</xxe>
</xxscfg>