JBoss.org Community Documentation
The way cached data is written to
FileCacheLoader
and
JDBCCacheLoader
based cache stores has changed in JBoss Cache 2.0 in such way that
these cache loaders now write and read data using the same marhalling framework used to replicate data
accross the network. Such change is trivial for replication purpouses as it just requires the rest of the
nodes to understand this format. However, changing the format of the data in cache stores brings up a new
problem: how do users, which have their data stored in JBoss Cache 1.x.x format, migrate their stores to
JBoss Cache 2.0 format?
With this in mind, JBoss Cache 2.0 comes with two cache loader implementations called
org.jboss.cache.loader.TransformingFileCacheLoader
and
org.jboss.cache.loader.TransformingJDBCCacheLoader
located within the optional
jbosscache-cacheloader-migration.jar file. These are one-off cache loaders that read data from the
cache store in JBoss Cache 1.x.x format and write data to cache stores in JBoss Cache 2.0 format.
The idea is for users to modify their existing cache configuration file(s) momentarily to use these
cache loaders and for them to create a small Java application that creates an instance of this cache,
recursively reads the entire cache and writes the data read back into the cache. Once the data is
transformed, users can revert back to their original cache configuration file(s). In order to help the users
with this task, a cache loader migration example has been constructed which can be located under the
examples/cacheloader-migration
directory within the JBoss Cache distribution. This
example, called
examples.TransformStore
, is independent of the actual data stored in
the cache as it writes back whatever it was read recursively. It is highly recommended that anyone
interested in porting their data run this example first, which contains a
readme.txt
file with detailed information about the example itself, and also use it as base for their own application.