Chapter 17. Persistence
Abstract
The Red Hat JBoss Fuse container caches information about its state and the artifacts deployed to it. It uses this data to make startup faster. You can configure how this information is stored on your file system.
Overview
Red Hat JBoss Fuse containers store all of their persistent caches relative to its start location. It will create a
data
folder in the directory from which you launch the container. This folder is populated by folders storing information about the message broker used by the container, the OSGi framework, and the JBI container.
The data folder
The
data
folder is used by the JBoss Fuse runtime to store persistent state information. It contains the following folders:
activemq
- Contains persistent data needed by any Apache ActiveMQ brokers that are started by the container.
cache
- The OSGi bundle cache. The cache contains a directory for each bundle, where the directory name corresponds to the bundle identifier number.
generated-bundles
- Contains bundles that are generated by the container. Typically these are to support deployed JBI artifacts.
jbi
- Contains a subdirectory for each JBI artifact deployed to the JBoss Fuse runtime. For JBI components the folder's name is generated by the component's name. For JBI service assemblies, the folder's name is the identifier of the bundle generated to support the service assembly.
log
- Contains the log files.
maven
- A temporary directory used by the Fabric Maven Proxy when uploading files.
txlog
- Contains the log files used by the transaction management system. You can set the location of this directory in the
org.apache.aries.transaction.cfg
file
Changing the bundle cache location
By default, the bundle cache is stored in
InstallDir/data/cache
.
To specify an alternative location, modify the org.osgi.framework.storage property in
config.properties
.
If you use a relative path, the cache location is added to the root of the JBoss Fuse installation directory.
Flushing the bundle cache
You can configure JBoss Fuse to flush the bundle cache every time the runtime starts by setting the org.osgi.framework.storage.clean property to onFirstInit in
config.properties
. This property is set to none by default.
Changing the generated-bundle cache location
The generated-bundle cache is where the container caches bundles it creates to support JARs that are not supplied as OSGi bundles.
You can configure the location of this cache by changing the felix.fileinstall.tmpdir property in the
org.apache.felix.fileinstall-deploy.cfg
file.
Adjusting the bundle cache buffer
The felix.cache.bufsize property controls the size of the buffer used to copy bundles into the bundle cache. Its default value is 4096 bytes.
You can adjust this property by editing its value in the
config.properties
configuration file. The value is specified in bytes.