Over a million developers have joined DZone.

JBossCache - Unmarshalling Cached Objects Across JVMs

JBossCache doesn't natively allow you to put and get objects across classloaders, so we need to marshal and unmarshal the objects with org.jboss.invocation.MarshalledValue.

private TreeCacheMBean cache;

void put(String path, Object key, Object value) throws Exception {
  cache.put(path, key, getMarshalledValue(value));

Object get(String path, Object key) throws Exception {
  return getUnMarshalledValue(cache.get(path, key));

private Object getUnMarshalledValue(Object value) throws IOException, ClassNotFoundException {
  return ((MarshalledValue) value).get();
private Object getMarshalledValue(Object value) throws IOException {
  return new MarshalledValue(value);

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}