#java #osgi #ehcache #apache-karaf #blueprint-osgi
#java #osgi #ehcache #apache-karaf #чертеж-osgi
Вопрос:
Как правильно включить ehcache внутри контейнера OSGi с помощью Blueprint. Чтобы включить ehcache для проектов, отличных от osgi, не связанных с blueprint, мы просто используем аннотацию spring:
org.springframework.cache.annotation.Кэшируемый
Внутри java:
@Cacheable
public void method() {
}
В конфигурации xml:
<beans xmlns:cache="http://www.springframework.org/schema/cache"
<cache:annotation-driven/>
...
К сожалению, это не так внутри OSGi и Blueprint, потому что мы не можем смешивать Blueprint с Spring. Я попытался и получил исключение, что обработчик пространства имен не найден. Возможно ли это с аннотацией @Cacheable или нам лучше попробовать ehcache без поддержки spring?
Я использую Karaf 2.3.0.redhat-610379, JBoss Fuse 6.1.0
Ответ №1:
Как вы уже упоминали, один из способов — использовать без spring, другой — использовать Gemini-Blueprint вместо готового плана Aries. Gemini-Blueprint поддерживает пространства имен spring.