2.3.9 Setting up the user property file for the J2EE server (usrconf.properties)
This section describes the system properties that are specified in the user property file for the J2EE server (usrconf.properties) on Service Platform.
The location of the user property file for the J2EE server is as follows:
- Location of the usrconf.properties file:
service-platform-installation-directory\CC\server\usrconf\ejb\server-name\usrconf.properties
For the descriptive format of the file, see 2.2.3 usrconf.properties (User property file for J2EE servers) in the manual Application Server Definition Reference Guide.
The user property file for the J2EE server is loaded when the J2EE server starts. After the file has been edited, to apply the changes, restart the J2EE server.
- Organization of this subsection
(1) Setting the path of the code conversion table
Before you can use the code conversion API in the character code conversion UOC (external program), you must set the path of the code conversion table that is used by Code Converter.
- Descriptive format of the property in the usrconf.properties file:
csc.dt.codetablepath=conversion-table-storage-directory-path/table
For details about how to specify the settings, see the manual Service Platform Basic Development Guide.
(2) Registering the class of the character code conversion UOC
After the character code conversion UOC has been created in the development environment, to use it in the execution environment, you must register its class name by using a fully qualified name.
- Descriptive format of the property in the usrconf.properties file:
csc.dt.ownCodeConverter.className=character-code-conversion-UOC-class-name
For details about how to specify the settings, see the manual Service Platform Basic Development Guide.
(3) Changing the directory that stores the JAR files used for custom functions
To change the directory that stores the JAR files used for custom functions, set the new directory path. The location of the default directory is as follows:
- Location of the JAR file storage directory:
service-platform-installation-directory\CSC\userlib\customfunc
The following shows the format of the property that is used to change the JAR file storage directory:
- Descriptive format of the property in the usrconf.properties file:
csc.dt.customFuncDir=new-directory-path
- Important note
-
Do not specify a subdirectory of the Service Platform installation directory as the JAR file storage directory because the subdirectory will be deleted when Service Platform is deleted.
- Descriptive format of the property in the usrconf.properties file:
-
The following shows an example of specifying the property when changing the directory that stores the JAR files used for custom functions to C:\\USER\\FUNC:
csc.dt.customFuncDir=C:\\USER\\FUNC
(4) Registering the conversion table used in change value functionality
If the data transformation definition created in the development environment includes the definition of the change value function, you must register the conversion table that is used by the function.
Specify the conversion table storage location information and character encoding information as a group of properties. To register multiple conversion tables, specify a group of properties for each conversion table.
Contents and formats described in usrconf.properties are as follows:
: csc.dt.valueTable.<Conversion table ID>=<Conversion table file path> csc.dt.valueTableSize=<Total file size of conversion table> csc.dt.encodeType.<Conversion table ID>=[MS932|UTF8|UTF16_BIG|UTF16_LITTLE] :
- <Conversion table ID>
-
Specify any name as conversion table ID. Conversion table ID is used to specify the conversion table used while defining the change value functionality in the change value dialog of the development environment.
- csc.dt.valueTable.conversion-table-ID=conversion-table-file-path
-
Specify the conversion table file path by the absolute path.
- csc.dt.valueTableSize=total-file-size-of-conversion-table <<10>>
-
Use a positive integer to specify (in KB) the upper limit on the total conversion table file size.
Specify a positive integer in the total file size. Specification range is 1 - 2097151. If you omit specification, 10 is reflected.
If a conversion table the size of which exceeds the maximum value is read, KDEC40730-E is output in J2EE server log file and HCSC server start is interrupted.
- csc.dt.encodeType.conversion-table-ID=[MS932|UTF8|UTF16_BIG|UTF16_LITTLE]
-
Specify the character code used in the conversion table.
- Note on the conversion table file
-
Files with BOM cannot be used.
(5) Using XML parser pool functionality option
To use the XML parser pool functionality, specify the number of pools that will be allocated initially and the maximum number of pools, if necessary.
XML is analyzed in HCSC server by the following Java XML parser:
-
DOM parser (javax.xml.DocumentBuilder class)
-
SAX parser (org.xml.sax.XMLReader class)
Since multiple threads cannot share these XML parser instances, XML parser is created for each thread for simultaneous use by multiple threads. Since XML parser creation process requires time and performance deteriorates if the parser is created for each analysis.
You can use XML parser pool functionality to save in advance XML parser generated in XML parser pool created in the memory. The entire system shares XML parser saved in XML parser pool and process efficiency is expected to improve because the parser can be reused.
The following points describe each option of XML parser pool functionality:
(a) DOM parser pool functionality option
Specify DOM parser pool option used to analyze XML in HCSC server as follows:
|
Item number |
Key name |
Contents |
Default value |
|---|---|---|---|
|
1 |
csc.dt.pool.DocumentBuilder.initialSize |
Specify the number of default allocations when DOM parser pool is created by integers between 0 - 2,147,483,647. When you first create DOM parser, compile the number of default allocations and store in the pool. This enables you to reduce further creation time. If you specify a value larger than the maximum number of pools (specified by csc.dt.pool.DocumentBuilder.maxSize), initialization is by maximum number of pools. Operation is by default value if you specify a negative integer or a character string other than an integer. |
0 |
|
2 |
csc.dt.pool.DocumentBuilder.maxSize |
Specify the maximum number of pools of DOM parser by integers between 0 - 2,147,483,647. If DOM parser used exceeds the maximum number of pools specified here, standby status occurs till use by another thread ends. If you specify integers under 0, pool functionality is disabled. Operation is by default value if you specify character string other than integers. |
64 |
Set the number of default allocations (specified by csc.dt.pool.DocumentBuilder.initialSize) and the maximum number of pools (specified by csc.dt.pool.DocumentBuilder.maxSize) to fulfill the following relation:
Number of default allocations ≤ Maximum number of pools ≤ Number of maximum simultaneous request executions
(b) SAX parser pool functionality option
Specify SAX parser pool option used to analyze XML in the following process:
-
Validation activity process of business process
-
Data validation functionality (specify ON in telegram-validation property in HCSC server runtime definition file)
The following table describes SAX parser pool options:
|
Item number |
Key name |
Contents |
Default value |
|---|---|---|---|
|
1 |
csc.dt.pool.XMLReader.initialSize |
Specify the number of default locations while creating SAX parser pool by integers between 0 - 2,147,483,647. When you first create SAX parser, compile the number of default allocations and store in the pool. This enables you to reduce further creation time. If you specify a value larger than the maximum number of pools (specified by csc.dt.pool.XMLReader.maxSize), initialization is by maximum number of pools. Operation is by default value if you specify a negative integer or a character string other than an integer. |
0 |
|
2 |
csc.dt.pool.XMLReader.maxSize |
Specify the maximum number of pools of SAX parser by integers between 0 - 2,147,483,647. If SAX parser used exceeds the maximum number of pools specified here, standby status occurs till use by another thread ends. If you specify integers under 0, pool functionality is disabled. Operation is by default value if you specify character string other than integers. |
64 |
Set the number of default allocations (specified by csc.dt.pool.XMLReader.initialSize) and the maximum number of pools (specified by csc.dt.pool.XMLReader.maxSize) to fulfill the following relation:
Number of default allocations ≤ Maximum number of poolsIf data validation functionality is used Maximum number of pools ≤ Maximum number of simultaneous executions of each business process/service adapter (multiplicity)
If data validation functionality is not used Maximum number of pools ≤ Total of maximum number of simultaneous executions of validation activities of each business process
(6) Size node functionality extension
Specify whether to use size node functionality extension.
A size node in data transformation can specify beforehand the size of a following binary-format definition element (simple content element or complex content element). A normal size node specifies the size of only the target element (excluding the size of the size node itself). If size node functionality extension is used, the size specified by a size node includes the size of the size node itself, as well as the size of the target element.
For details about size node functionality extension, see the manual Service Platform Basic Development Guide.
Note that size node functionality extension is effective on only a size node that satisfies the following conditions:
-
The target element for the size node is a simple content element or complex content element for which a size node can be specified.
-
The size of the size node is a fixed-length size.
The specification of this property is applied to the default behavior of all size nodes in the binary-format definitions on the HCSC server.
The following shows the property to be specified in the usrconf.properties file and the descriptive format of the property. The property value is not case-sensitive.
...
csc.dt.sizeNode.includeSelfSize={true|false}
...- csc.dt.sizeNode.includeSelfSize={true|false}
-
This property specifies whether to use size node functionality extension.
- true
-
Uses size node functionality extension.
- false
-
Does not use size node functionality extension.
(7) Converting undefined character codes to any characters
In conversion between binary data and Unicode text, undefined character codes are converted to spaces by default. However, they can be converted to any characters of your choice.
To convert undefined character codes to any characters of your choice, you must perform the following two file definition tasks beforehand:
-
In the HCSC server runtime definition file, define telegram-undefined-character-code=REPLACE (definition that converts undefined character codes to spaces).
For details about how to specify definitions in the HCSC server runtime definition file, see 6.5.6 HCSC server runtime definition file in the Service Platform Reference Guide.
-
In the user property file for the J2EE server (usrconf.properties), specify the conversion-destination characters.
For details about the specification method, see section (a) and the following sections.
(a) System property specification format
To convert an undefined character code to any character of your choice, specify a system property in the user property file for the J2EE server (usrconf.properties) in the following format:
... property-key=conversion-destination-character-code ...
- Important note
-
If you specify a property key without specifying the conversion-destination character code, the data might be corrupted.
- property-key
-
The system property to be specified differs depending on how the data will be converted or which character code the character is to be converted to, fullwidth or halfwidth (conversion type). For more information, see either of the following sections according to the direction of conversion:
-
(b) System properties for conversion from binary data to Unicode text
-
(c) System properties for conversion from Unicode text to binary data
The conversion type is determined by a combination of the option (Convert to fullwidth or halfwidth spaces or Replace with double byte space) selected in the Process when replacing undefined code area of the Format dialog box and the character code shift status (fullwidth or halfwidth).
For details about the conversion type, see the explanation of the Process when replacing undefined code area in 1.3.1 Format dialog in the Service Platform Reference Guide.
-
- conversion-destination-character-code
-
Specify the conversion-destination character by using a hexadecimal character code.
- Specifiable characters:
-
You can specify a fullwidth or halfwidth character. Be careful about a character code for which the fullwidth or halfwidth is specified by using a shift code or escape sequence. If you want such a character code to be converted differently from the specified conversion type, you must also specify the shift code or escape sequence.
You can also perform the following types of conversion processing by specifying conversion-destination characters:
-
Deleting undefined codes (conversion to 0-byte data)
-
Conversion to a character whose byte length is different
-
Conversion to a special character such as an undefined character, shift code, escape sequence, or BOM
-
Switching of the shift status (halfwidth or fullwidth)
Make sure that the settings you specify are appropriate for the business data. Specifying inappropriate settings might cause an incorrect shift status or misaligned bytes, resulting in corruption of data after conversion.
-
- Notes on specifying a conversion-destination character code:
-
-
Specify 32 or fewer halfwidth alphanumeric characters (0 to 9, a to f, and A to F). Do not include 0x, which indicates a hexadecimal number.
-
For conversion from binary data to Unicode text, always specify a value in two bytes. Specifying a one-byte value causes data misalignment, resulting in incorrect conversion.
-
Specifying a value that is longer than 32 characters or that is not a hexadecimal number results in an error.
-
If you specify a separator or escape character as the conversion-destination character code, because an escape character is prefixed during conversion, the character will not be interpreted as a separator or escape character.
-
If you specify a special character such as an undefined character, shift code, escape sequence, or BOM, or if byte misalignment occurs, the data might be corrupted.
-
For setting examples, see the manual Service Platform Basic Development Guide.
(b) System properties for conversion from binary data to Unicode text
For an undefined character code detected during conversion from binary data to Unicode text to be converted to any character of your choice, specify the conversion-destination character code by using a hexadecimal number in Unicode big endian format for the relevant system property.
The following table shows the system properties that can be specified. You can specify one of these system properties for each conversion type of input binary data.
|
No. |
Key name |
Conversion type |
Conversion-destination Unicode character code |
|---|---|---|---|
|
1 |
csc.dt.undefined.replace.bin2xml |
Halfwidth |
Unicode big endian |
|
2 |
csc.dt.undefined.replace.bin2xml.full |
Fullwidth |
(c) System properties for conversion from Unicode text to binary data
For an undefined character code detected during conversion from Unicode text to binary data to be converted to any character of your choice, specify the conversion-destination character code by using a hexadecimal number for the relevant system property.
The following table shows the system properties that can be specified. You can specify one of these system properties for each character code and for each conversion type of conversion-destination binary data.
|
No. |
Key name |
Conversion type |
Conversion-destination binary character code |
|---|---|---|---|
|
1 |
csc.dt.undefined.replace.xml2utf16be |
Halfwidth |
UTF16 big endian |
|
2 |
csc.dt.undefined.replace.xml2utf16be.full |
Fullwidth |
|
|
3 |
csc.dt.undefined.replace.xml2utf16le |
Halfwidth |
UTF16 little endian |
|
4 |
csc.dt.undefined.replace.xml2utf16le.full |
Fullwidth |
|
|
5 |
csc.dt.undefined.replace.xml2utf8 |
Halfwidth |
UTF8 |
|
6 |
csc.dt.undefined.replace.xml2utf8.full |
Fullwidth |
|
|
7 |
csc.dt.undefined.replace.xml2ms932 |
Halfwidth |
MS932 |
|
8 |
csc.dt.undefined.replace.xml2ms932.full |
Fullwidth |
|
|
9 |
csc.dt.undefined.replace.xml2keisC |
Halfwidth |
KEIS+EBCDIC |
|
10 |
csc.dt.undefined.replace.xml2keisC.full |
Fullwidth |
|
|
11 |
csc.dt.undefined.replace.xml2keisK |
Halfwidth |
KEIS+EBCDIK |
|
12 |
csc.dt.undefined.replace.xml2keisK.full |
Fullwidth |
|
|
13 |
csc.dt.undefined.replace.xml2keis.full |
Fullwidth |
KEIS |
|
14 |
csc.dt.undefined.replace.xml2ibmC.latin |
Halfwidth |
IBM+EBCDIC(LATIN) |
|
15 |
csc.dt.undefined.replace.xml2ibmC.latin.full |
Fullwidth |
|
|
16 |
csc.dt.undefined.replace.xml2ibmC.kana |
Halfwidth |
IBM+EBCDIC(KANA) |
|
17 |
csc.dt.undefined.replace.xml2ibmC.kana.full |
Fullwidth |
|
|
18 |
csc.dt.undefined.replace.xml2ibm.full |
Fullwidth |
IBM |
|
19 |
csc.dt.undefined.replace.xml2jefC |
Halfwidth |
JEF+EBCDIC |
|
20 |
csc.dt.undefined.replace.xml2jefC.full |
Fullwidth |
|
|
21 |
csc.dt.undefined.replace.xml2jefK |
Halfwidth |
JEF+EBCDIK |
|
22 |
csc.dt.undefined.replace.xml2jefK.full |
Fullwidth |
|
|
23 |
csc.dt.undefined.replace.xml2jef.full |
Fullwidth |
JEF |
|
24 |
csc.dt.undefined.replace.xml2jis |
Halfwidth |
JIS |
|
25 |
csc.dt.undefined.replace.xml2jis.full |
Fullwidth |
|
|
26 |
csc.dt.undefined.replace.xml2euc |
Halfwidth |
EUC |
|
27 |
csc.dt.undefined.replace.xml2euc.full |
Fullwidth |
|
|
28 |
csc.dt.undefined.replace.xml2euchj |
Halfwidth |
EUC_HJ |
|
29 |
csc.dt.undefined.replace.xml2euchj.full |
Fullwidth |
(8) Specifying the operation of the data transformation API
You can specify the operation of the data transformation API. For details about the data transformation API, see the manual Service Platform Basic Development Guide.
The following table shows the system properties that can be specified for the data transformation API.
|
No. |
Key name |
Description |
Default |
|---|---|---|---|
|
1 |
csc.dt.formatdef.maxcache.num.group-name |
Specifies the maximum number of binary format definitions that can be cached. You can specify a value in the range from 1 to 2,147,483,647. Because the cache is reused, specify a value larger than the number of binary format definitions that have been specified. |
2147483647 |
|
2 |
csc.dt.transformdef.maxcache.num.group-name |
Specifies the maximum number of data transformation definitions that can be cached. You can specify a value in the range from 1 to 2,147,483,647. Because the cache is reused, specify a value larger than the number of data transformation definitions that have been specified. |
2147483647 |
|
3 |
csc.dt.telegram.undefined.characterCode.group-name |
Specifies the handling of an undefined character code detected during character code conversion processing of binary data. You can specify either of the following values:
|
ERROR |
|
4 |
csc.dt.codeTable.rootPath.group-name |
Specifies the absolute path of the root path of the code conversion table storage path used by the code conversion library. Use a forward slash (/) or two consecutive backslashes (\\) as a directory separator. Do not specify a path that includes a non-existing directory or file. If you do so, instance generation will fail. |
service-platform-installation-directory\\CSC\\userlib\\codetables |
|
5 |
csc.dt.debugtrace |
Specifies whether to output debug information.
|
OFF |
|
6 |
csc.dt.debugtrace.filepath |
If ON is specified for csc.dt.debugtrace, use this item to specify the absolute path of the debug information output destination. Use a forward slash (/) or two consecutive backslashes (\\) as a directory separator. |
J2EE-server-log-output-directory\\CSC This directory is automatically deleted if it does not exist. |
|
7 |
csc.dt.debugtrace.filenum |
If ON is specified for csc.dt.debugtrace, use this item to specify the maximum number of debug information files. You can specify a value in the range from 1 to 16. |
4 |
|
8 |
csc.dt.debugtrace.filesize |
If ON is specified for csc.dt.debugtrace, use this item to specify the maximum size of each debug information file. You can specify a value (in bytes) in the range from 4,096 to 2,147,483,647. |
2097152 |
Each debug information output file is assigned a name that includes the name of the instance (group) of the data transformation API. The format of the name of each debug information output file is as follows:
cscdebug_group-name_file-number.log