Codebeispiele

Auf lokale Caches für Threads darf nur zugegriffen werden, wenn der korrekte Kontext (der korrekte Thread) verwendet wird. Es wird zum Beispiel nicht empfohlen, einen lokalen Cache für einen Thread in einem statischen Codeblock zu konfigurieren, da es vorkommen kann, dass dieser Thread nicht mit dem Thread übereinstimmt, der den Cache später verwendet.

Abbildung 1. Lokalen Cache für einen Thread konfigurieren und verwenden
public void myMethod() {
  ...
  Cache<String, String> threadCache = CacheManager.
           getThreadLocalCacheGroup().getCache("mycache");
  String value = threadCache.get("key");
  if(value == null) {
    // perform expensive operation to calculate value - this
    // processing only happens once for each thread
    ...
    // and store the result
    threadCache.put("key", "value");
  }
  ...
}