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