Previous Topic

Next Topic

Book Contents

Book Index

Database

The following system properties can influence the runtime operation of the Core Database bundle:

System Property

Default Value

Description

mbs.db.buffered

true

Turns on/off buffering DB data in RAM.

mbs.db.maxBuffers1

10

If this number of buffers are full, when save is done internally a pooled thread will be started to store them even in the case of framework startup. Value of 0 implies no limit of the buffer number. The size of a buffer is 4096 bytes. This property has meaning only if mbs.db.buffered is true.

mbs.db.maxBuffers2

50

If this number of buffers are full, when "save" is called by a custom bundle the operation will be performed in the context of the user thread even in the case of framework startup. Value of 0 implies no limit of the buffer number. This property has meaning only if mbs.db.buffered is true.

mbs.db.bufferSize

1024

Sets the size in bytes of the buffer used for reading data from the database.

mbs.db.singleDRF

false

To support non-blocking reading executed concurrently with a write operation to the same database, the DB Bundle uses a separate random access file pointing to the same data for each operation. However, on some JVMs, this approach may cause an exception when attempting to read data - to avoid such a fault, set this property to true. This will make the DB Bundle use a single remote access file for both the read and write operations.

mbs.db.maxL

0

The maximum size of a database including data and index.

mbs.db.savetime

10

Indicates the timeout in milliseconds for saving data from the main database. This property has meaning only if mbs.db.buffered is true.

mbs.dbmanager.singleDB

true

If true, custom databases will be stored in the main DB.

mbs.db.dataFreeLimit

-1

Specifies the maximum amount in bytes of free space of a database. If the free space exceeds this one, the database will be defragmented. If the value is -1, the defragmentation will be started if 90% of the database is empty.

mbs.storage.norename

false

If true, the DB Bundle will not rename the files resulting from a database defragmentation operation.

mbs.db.transaction.timeout

5000

Sets the timeout in milliseconds for a DB transaction to wait another one to complete. If the timeout expires, there will be an IO Exception.

mbs.dbmanager.useCallerDir

false

If true, the DB Bundle will use the storage space of calling bundles to store the databases.

mbs.db.errorsDir

-

Specifies a directory where corrupted DB files will be saved.

mbs.db.debug

false

Turns on/off logging debug information about the DB Bundle operation.

mbs.db.console

false

Turns on/off printing debug information to the system output.

mbs.db.defaultCritical

false

Turns on/off indicating faults to the framework Fault Manager in case of database access errors.

mbs.db.writeDebug

false

Turns on/off debug for every write operation by the user.

mbs.db.writeDebug.stackTrace

false

Turns on/off printing of stack traces for every write operation by the user.