Реализация кеша @Singleton - PullRequest
       9

Реализация кеша @Singleton

0 голосов
/ 24 сентября 2011

Интересно, правильна ли моя реализация кеша, и буду благодарен за любые отзывы. Ресурсу присвоено несколько значений String (Client-Adresses).

Должен ли я синхронизировать метод addEntityRegistration ()? Или есть лучший подход для этого варианта использования?

спасибо заранее, м

@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
public class Cache{

   private Map<Object, Set<String>> registeredClients = new ConcurrentHashMap<Object,Set<String>>();

   .....

   protected void addEntityRegistration(Object key, String fullJid){
    Set<String> registered = registeredClients.get(key);
    if(registered == null){
        registered = Collections.newSetFromMap(new ConcurrentHashMap<String,Boolean>());
        registeredClients.put(key, registered);
    }

    registered.add(fullJid);
   }
...