Hitachi

uCosminexus Service Platform Setup and Operation Guide


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:

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:

Table 2‒15: List of DOM parser pool functionality options

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:

Table 2‒16: List of SAX parser pool functionality 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 pools 
 
[Figure]If data validation functionality is used
Maximum number of pools  ≤ Maximum number of simultaneous executions of each business process/service adapter (multiplicity)
 
[Figure]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 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:

(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.

Table 2‒17: List of system properties (for conversion from binary data to Unicode text)

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.

Table 2‒18: List of system properties (for conversion from Unicode text to 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.

Table 2‒19: List of system properties (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

    Handles the detected character code as an error.

  • REPLACE

    Handles the detected character code as a space.

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.

  • ON: Outputs debug information.

  • OFF: Does not 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