# Java Runtime Libraries

> The core eXtremeDB and eXtremeSQL runtime functionality is encapsulated in the `extremedb.jar` archive which is compiled together with the Java application. Then the following `Database` configuration values can be set to dynamically load the associated library when a `Database` is instantiated:

> MCO_CFG_DEBUG_LIBRARY | Load debug versions of libraries to provide additional diagnostic exceptions
> MCO_CFG_MVCC_TRANSACTION_MANAGER | Load "`_mvcc`" versions of libraries to use the MVCC transaction manager - by default "`_mursiw`" (MURSIW transaction manager) versions are loaded
> MCO_CFG_SHARED_MEMORY | Load "`_shm`" versions of libraries for databases using shared memory
> MCO_CFG_DISK_SUPPORT | Load "`_disk`" versions of libraries for databases on persistent storage devices
> MCO_CFG_HA_SUPPORT | Load eXtremeDB High Availability libraries
> MCO_CFG_CLUSTER_SUPPORT | Load eXtremeDB Cluster libraries
> MCO_CFG_MPI_CLUSTER_SUPPORT | Load eXtremeDB Cluster libraries for the MPI channel transport layer
> MCO_CFG_TL_SUPPORT | Load eXtremeDB Transaction Logging libraries
> MCO_CFG_SQL_SUPPORT | Load eXtremeSQL libraries
> MCO_CFG_SEQUENCE_SUPPORT | Load libraries for support of eXtremeDB sequences
> MCO_CFG_LOAD_ASSEMBLY | Not currently used
> MCO_CFG_USE_POSIX_LIBRARIES | When used in addition to constant MCO_CFG_SHARED_MEMORY load the `mcompsx` shared memory library instead of `mcomipc` which is used by default
> MCO_CFG_DISK_COMPRESSION | Enable on Unix the file compression functionality in file support library `mcofu98zip`. Internally it assumes using the file open flag MCO_FILE_OPEN_COMPRESSED (see page Data Compression in C for further details)

> (Please see SDK Sample Open2 for an example of how these library options can be set at runtime.)