Configuration Parameters

The Java layer and the kernel layer are configurable, both. Configuration parameters of the Java layer are passed to JOB facotry instances. Configuration parameters of the kernel layer cannot be passed programmatically. Instead, they are kept in a file (boss.ini) which is stored in the directory of your JOB instance.

Java Parameters

Java configuration parameters are passed to JOB factory instances. JOB factories contain properties defined by the API as well as properties by the implementation. All properties have default values. You can change defaults passing different properties at session construction time. The following table shows all properties:

Parameter Type Required Default Description
org.job.url String Yes A valid JOB URL, e.g. file:<directory> for embedded server mode, or job://<host>[:<port>] for client server mode.
org.job.user String Yes A valid JOB user. There are two predefined JOB users:
  • An admin user (name: "JOB", password: "Admin"),
  • a non-admin user (name: "rio", password: "dejaneiro").
org.job.password String Yes The password for a valid JOB user.
org.job.isolationLevel String No "Commited Read"
  • "Serializable"
  • "Repeatable Read"
  • "Commited Read"
  • "Dirty Read"
org.job.optimistic Boolean No true If true then transactions run in optimistic mode.
org.job.encoding String No "" Supported values are given by Java standard character sets. Consult the release documentation for your implementation to see if any other charsets are supported. The empty string defaults to unicode encoding.
org.job.impl.isTransactional Boolean No true If true then sessions have a transactional cache.
Note : Sessions not having a transactional cache do flush instances immediately.
org.job.impl.javaUtilMapSemantics Boolean No true If true then methods JobMap.put() and JobMap.remove() may return objects.
org.job.impl.multiThreaded Boolean No false If true then the same session may be processed by different threads concurrently.
Note : Different sessions can be processed concurrently,
even if this parameter is set to false.
org.job.impl.nonTransactionCache String No "WEAK_CACHE"
  • "NO_CACHE"
  • "WEAK_CACHE"
  • "STRONG_CACHE"
org.job.impl.sessionPoolSize Integer No 10 Specifies the size of the session pool.
org.job.impl.sessionPoolType String No "STRONG_SESSION_POOL"
  • "NO_SESSION_POOL"
  • "WEAK_SESSION_POOL"
  • "STRONG_SESSION_POOL"

Kernel Parameters

Kernel configuration parameters are stored in a file named boss.ini . This file is divided into several sections, one for each kernel component. Parameters can be changed editing the parameter value before implementation startup. Usually, you should not change these values. The following table shows all kernel parameters:

Section Parameter Type Default Description
[Boss] logLevel
int
1
Specifies which log messages are written into file boss.txt :
1: Java Exception thrown by kernel.
2: Rollback actions when transactions are aborted.
3: Commit actions when transactions are commited.
4: Cluster server actions.
5: Slot server actions.
10: JOB operations.
[Boss] logToStdOut
boolean
false
Specifies whether log messages are also written to standard out.
[Boss] root.devSpaceId
int
-
Note : This parameter is for internal use only! If you change its value you will loose your log data!
[Boss] root.pageAddress
int
-
Note : This parameter is for internal use only! If you change its value you will loose your log data!
[Boss] rootClusterExtentSize
int
5
Specifies the default extent capacity used for the root map. This is the amount of secondary storage pages the root map is extended in case of overflows.
[Boss] rootClusterSize
int
5
Specifies the initial capacity used for the root map. This is the amount of secondary storage pages initially reserved when the root map is created.
[ClusterServer] clusterExtentSize
int
10
Specifies the default extent capacity used for persistent maps. This is the amount of secondary storage pages persistent maps are extended in case of overflows.
[ClusterServer] clusterSize
int
5
Specifies the default initial capacity used for persistent maps. This is the amount of secondary storage pages initially reserved when persistent maps are created.
[DeviceSpaceServer] defaultDevSpace
int
Specifies the default JOB space. This field is managed by kernel implementation. You should not change it.
[DeviceSpaceServer] devSpaceSize
int
1000
Specifies the default size of JOB spaces in terms of secondary storage pages.
[DeviceSpaceServer] deviceSpace.<jobSpaceId>
String
-
An entry is added to this section for each created JOB space. <jobSpaceId> is a placeholder for identities assigned to JOB spaces.
[LogSpace] dynamicLogSpaceDeletion
boolean
false
Determines whether operation-logging files are deleted dynamically.
[LogSpace] fragmentationSize
int
100
Number of bytes reserved for logging storage page overflows.
[LogSpace] logSpaceId.devSpaceId
int
1
Note : This parameter is for internal use only! If you change its value you will loose your log data!
[LogSpace] logSpaceId.pageAddress
int
2
Note : This parameter is for internal use only! If you change its value you will loose your log data!
[LogSpace] logSpaceSize
int
1000
Number of pages reserved for operation-logging file.
[PageServer] nrOfPageBuffers
int
1000
Number of page buffers reserved for the storage page level cache.
Note : The cache size is
[PageServer].nrOfPageBuffers * [PageServer].pageSize
[PageServer] pageSize
int
4096
Size of secondary storage pages in bytes.
Note : You my change this parameter only, if you do not have any JOB space entries in section [DeviceSpaceServer]. If you change this parameter although you already have JOB space entries in section [DeviceSpaceServer], then you will loose your data!
[SlotServer] fragmentationSize
int
100
Number of bytes reserved for storage page overflows.
[SlotServer] occupationSize
int
164
If the number of free bytes on secondary storage pages is less than this value, then the belonging cluster extent is not available for newly created objects.
Note: This value must not be greater than the value for fragmentationSize .
[TransactionServer] abortOpenTransactions
boolean
true
If true active transactions are aborted at implementation shut down.
[TransactionServer] isolationLevel
int
3
Specifies the isolation level, one of
1: Serializable
2: Repeatable Read
3: Commited Read
4: Overwrite Commited Changes