JBoss.org Community Documentation

8.3.3.1.5. Configuration example

Below is an example of a JDBCCacheLoader using Oracle as database. The CacheLoaderConfiguration XML element contains an arbitrary set of properties which define the database-related configuration.

<attribute name="CacheLoaderConfiguration">
 <config>
       <passivation>false</passivation>
       <preload>/some/stuff</preload>
       <cacheloader>
     <class>org.jboss.cache.loader.JDBCCacheLoader</class>
       
     <properties>
      cache.jdbc.table.name=jbosscache
       cache.jdbc.table.create=true
       cache.jdbc.table.drop=true
       cache.jdbc.table.primarykey=jbosscache_pk
      cache.jdbc.fqn.column=fqn
       cache.jdbc.fqn.type=varchar(255)
       cache.jdbc.node.column=node
       cache.jdbc.node.type=blob
       cache.jdbc.parent.column=parent
       cache.jdbc.driver=oracle.jdbc.OracleDriver
       cache.jdbc.url=jdbc:oracle:thin:@localhost:1521:JBOSSDB
       cache.jdbc.user=SCOTT
       cache.jdbc.password=TIGER
       cache.jdbc.sql-concat=concat(1,2)
   </properties>
       
   <async>false</async>
      <fetchPersistentState>true</fetchPersistentState>
       <ignoreModifications>false</ignoreModifications>
       <purgeOnStartup>false</purgeOnStartup>
       </cacheloader>
       </config>
</attribute> 

As an alternative to configuring the entire JDBC connection, the name of an existing data source can be given:

<attribute name="CacheLoaderConfiguration">
<config>
<passivation>false</passivation>
	<preload>/some/stuff</preload>
<cacheloader>
<class>org.jboss.cache.loader.JDBCCacheLoader</class>
<properties>
cache.jdbc.datasource=java:/DefaultDS
</properties>

<async>false</async>
<fetchPersistentState>true</fetchPersistentState>
<ignoreModifications>false</ignoreModifications>
<purgeOnStartup>false</purgeOnStartup>
</cacheloader>
</config>
</attribute>

Cconfiguration example for a cache loader using c3p0 JDBC connection pooling:

<attribute name="CacheLoaderConfiguration">
      <config>
       <passivation>false</passivation>
       <preload>/some/stuff</preload>
       <cacheloader>
       <class>org.jboss.cache.loader.JDBCCacheLoader</class>
       
      <properties>
      cache.jdbc.table.name=jbosscache
	       cache.jdbc.table.create=true
	       cache.jdbc.table.drop=true
	       cache.jdbc.table.primarykey=jbosscache_pk
	       cache.jdbc.fqn.column=fqn
	       cache.jdbc.fqn.type=varchar(255)
	       cache.jdbc.node.column=node
	       cache.jdbc.node.type=blob
	       cache.jdbc.parent.column=parent
	       cache.jdbc.driver=oracle.jdbc.OracleDriver
	       cache.jdbc.url=jdbc:oracle:thin:@localhost:1521:JBOSSDB
	       cache.jdbc.user=SCOTT
	       cache.jdbc.password=TIGER
	       cache.jdbc.sql-concat=concat(1,2)
	       cache.jdbc.connection.factory=org.jboss.cache.loader.C3p0ConnectionFactory
	       c3p0.maxPoolSize=20
       c3p0.checkoutTimeout=5000
      </properties>
	       
       <async>false</async>
	       <fetchPersistentState>true</fetchPersistentState>
	       <ignoreModifications>false</ignoreModifications>
       <purgeOnStartup>false</purgeOnStartup>
      </cacheloader>
		       </config>
</attribute>