18.5. LevelDB Cache Store LevelDB is a key-value storage engine that provides an ordered mapping from string keys to string values. The LevelDB Cache Store uses two filesystem directories. Each directory is configured for a LevelDB database. One directory stores the non-expired data and the second directory stores the keys pending to be purged permanently. Report a bug 18.5.1. Configuring LevelDB Cache Store (Remote Client-Server Mode) Procedure 18.1. To configure LevelDB Cache Store: Add the following elements to a cache definition in standalone.xml to configure the database: Note Directories will be automatically created if they do not exist. For details about the elements and parameters used in this sample configuration, see Section 18.3, "Cache Store Configuration Details (Remote Client-Server Mode)" . Report a bug 18.5.2. LevelDB Cache Store Programmatic Configuration The following is a sample programmatic configuration of LevelDB Cache Store: Procedure 18.2. LevelDB Cache Store programmatic configuration Use the ConfigurationBuilder to create a new configuration object. Add the store using LevelDBCacheStoreConfigurationBuilder class to build its configuration. Set the LevelDB Cache Store location path. The specified path stores the primary cache store data. The directory is automatically created if it does not exist. Specify the location for expired data using the expiredLocation parameter for the LevelDB Store. The specified path stores expired data before it is purged. The directory is automatically created if it does not exist. Note Programmatic configurations can only be used with Red Hat JBoss Data Grid Library mode. Report a bug 18.5.3. LevelDB Cache Store Sample XML Configuration (Library Mode) The following is a sample XML configuration of LevelDB Cache Store: For details about the elements and parameters used in this sample configuration, see Section 18.2, "Cache Store Configuration Details (Library Mode)" . Report a bug 18.5.4. Configure a LevelDB Cache Store Using JBoss Operations Network Use the following procedure to set up a new LevelDB cache store using the JBoss Operations Network. Procedure 18.3. Ensure that Red Hat JBoss Operations Network 3.2 or higher is installed and started. Install the Red Hat JBoss Data Grid Plugin Pack for JBoss Operations Network 3.2.0. Ensure that JBoss Data Grid is installed and started. Import JBoss Data Grid server into the inventory. Configure the JBoss Data Grid connection settings. Create a new LevelDB cache store as follows: Figure 18.1. Create a new LevelDB Cache Store Right-click the default cache. In the menu, mouse over the Create Child option. In the submenu, click LevelDB Store . Name the new LevelDB cache store as follows: Figure 18.2. Name the new LevelDB Cache Store In the Resource Create Wizard that appears, add a name for the new LevelDB Cache Store. Click to continue. Configure the LevelDB Cache Store settings as follows: Figure 18.3. Configure the LevelDB Cache Store Settings Use the options in the configuration window to configure a new LevelDB cache store. Click Finish to complete the configuration. Schedule a restart operation as follows: Figure 18.4. Schedule a Restart Operation In the screen's left panel, expand the JBossAS7 Standalone Servers entry, if it is not currently expanded. Click JDG (0.0.0.0:9990) from the expanded menu items. In the screen's right panel, details about the selected server display. Click the Operations tab. In the Operation drop-down box, select the Restart operation. Select the radio button for the Now entry. Click Schedule to restart the server immediately. Discover the new LevelDB cache store as follows: Figure 18.5. Discover the New LevelDB Cache Store In the screen's left panel, select each of the following items in the specified order to expand them: JBossAS7 Standalong Servers JDG (0.0.0.0:9990) infinispan Cache Containers local Caches default LevelDB Stores Click the name of your new LevelDB Cache Store to view its configuration information in the right panel. Report a bug

Commands:
<leveldb-store path="/path/to/leveldb/data" passivation="false" purge="false" > <expiration path="/path/to/leveldb/expires/data" /> <implementation type="JNI" /> </leveldb-store>
Configuration cacheConfig = new ConfigurationBuilder().persistence() .addStore(LevelDBStoreConfigurationBuilder.class) .location("/tmp/leveldb/data") .expiredLocation("/tmp/leveldb/expired").build();
<namedCache name="vehicleCache"> <persistence passivation="false"> <leveldbStore xmlns="urn:infinispan:config:store:leveldb:6.0 location="/path/to/leveldb/data" expiredLocation="/path/to/expired/data" shared="false" preload="true"/> </persistence> </namedCache>