Я всегда использовал класс java singleton для своих основных потребностей в кэшировании.
Сейчас в проекте используется ehcache и, не заглядывая глубоко в исходный код, я не могу понять, что не так с паттерном singleton.
т. е. каковы преимущества использования ehcahce framework, за исключением того, что кэширование может быть выполнено с использованием конфигурации xml и аннотаций без написания стандартного кода (, т. е. статического HashMap)