Stores the given portion of the cache tree's state in secondary storage. Overwrite whatever is currently in secondary storage. If the transferred state has Fqns equal to or children of parameter
subtree
, then no special behavior is required. Otherwise, ensure that the state is integrated under the given
subtree
. Typically in the latter case
subtree
would be the Fqn of the buddy backup region for a buddy group; e.g.
If the the transferred state had Fqns starting with "/a" and
subtree
was "/_BUDDY_BACKUP_/192.168.1.2:5555" then the state should be stored in the local persistent store under "/_BUDDY_BACKUP_/192.168.1.2:5555/a"
Implementations of this method should not catch any exception or close the given ObjectInputStream parameter. In order to ensure cacheloader interoperability contents of the cache are read from the ObjectInputStream as a sequence of NodeData objects.
Default implementation is provided by {@link AbstractCacheLoader} and ensures cacheloaderinteroperability. Implementors are encouraged to consider extending AbstractCacheLoader prior to implementing completely custom cacheloader.
@param is ObjectInputStream to read state
@param subtree Fqn naming the root (i.e. highest level parent) node ofthe subtree included in
state
. If the Fqns of the data included in
state
are not already children of
subtree
, then their Fqns should be altered to make them children of
subtree
before they are persisted.
@see AbstractCacheLoader#storeState(Fqn,ObjectInputStream)
@see org.jboss.cache.marshall.NodeData