Hi,
As you might be aware Cacheloader 2.0 will add 4 methods for streaming
state transfer:
void storeEntireState(InputStream s);
void storeState(Fqn subtree,InputStream s);
void loadEntireState(OutputStream s);
void loadState(Fqn subtree,OutputStream s);
There is a slight problem will method overloading, namely we have now
two methods:
void storeEntireState(byte[] state) throws Exception;
void storeEntireState(InputStream is) throws Exception;
which are properly overloaded. However, java compiler will complain if
somebody invokes
cacheloader.storeEntireState(null);
Workaround is to declare actual parameter explicitly , i.e:
byte [] nullstate = null;
cacheloader.storeEntireState(nullstate);
so that compiler can distinguish which overloaded method to invoke.
This is the case with our own BdbjeTest that was invoking
cl.storeEntireState(null);
Does anyone have any complaints or concerns? If not, I would proceed
with adding
stream based methods to CacheLoader and adding noop implementation
methods to all
implementers of CacheLoader interface.