JCache с Infinispan в Wildfly 14 генерирует неудовлетворенные зависимости для типа InfinispanExtensionEmbedded с квалификаторами @Default - PullRequest
0 голосов
/ 16 июня 2019

Я следую некоторому руководству по установке JCache в среде Wildfly 14, используя в качестве поставщика Infinispan.

Я следовал за этими шагами: - Я скачал версию модуля wildfly 9.4.14 с сайта Infinispan - Я скопировал содержимое zip в модуль dir от Wildfly - я добавил в свое приложение файл jboss-deploy-structure.xml - Я добавил перехватчики в файл beans.xml в моем приложении - я добавляю аннотацию @CacheResult к функции - Я запускаю Wildfly и получаю следующую ошибку org.jboss.weld.exceptions.DeploymentException: WELD-001408: неудовлетворенные зависимости для типа InfinispanExtensionEmbedded с квалификаторами @Default в точке внедрения [BackedAnnotatedField] @Inject private org.infinispan.cdi.embedded.AdvancedCacheProducer.infinispanExtension

Я добавляю информацию, которая может быть полезной. Приложение, которое я развертываю на wildfly - это ухо, и вот структура, которую я использую:

  • файл уха
    • Lib
    • META-INF
    • файл библиотеки JAR
    • META-INF
      • файл beans.xml
      • JBoss развертывания-structure.xml
    • WAR-файл

jboss-deploy-structure.xml:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <dependencies>
            <module name="org.infinispan" slot="ispn-9.4" services="export"/>
            <module name="org.infinispan.cdi.embedded" slot="ispn-9.4" services="export"/>
            <module name="org.infinispan.jcache" slot="ispn-9.4" services="export"/>
        </dependencies>
  </deployment>
</jboss-deployment-structure>

beans.xml:

    <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
           version="1.1" bean-discovery-mode="all">
        <interceptors>
<class>org.infinispan.jcache.annotation.InjectedCacheResultInterceptor</class>

   <class>org.infinispan.jcache.annotation.InjectedCachePutInterceptor</class> 


<class>org.infinispan.jcache.annotation.InjectedCacheRemoveEntryInterceptor</class>


<class>org.infinispan.jcache.annotation.InjectedCacheRemoveAllInterceptor</class> 
    <class>org.infinispan.jcache.annotation.CacheResultInterceptor</class>
    <class>org.infinispan.jcache.annotation.CachePutInterceptor</class>


<class>org.infinispan.jcache.annotation.CacheRemoveEntryInterceptor</class> 

 <class>org.infinispan.jcache.annotation.CacheRemoveAllInterceptor</class>
        </interceptors>
    </beans>

В этой стандартной конфигурации, я ожидаю, что начало перехватчика будет определено в запуске beans.xml, чтобы я мог использовать контейнер кеша по умолчанию в приложении

...