JBoss EAP/Wildfly上支持JDBC的Infinispan缓存

JBoss EAP/Wildfly上支持JDBC的Infinispan缓存,jdbc,jboss,wildfly,infinispan,Jdbc,Jboss,Wildfly,Infinispan,我试图在JBoss EAP 7或Wildfly 10服务器上创建一个JDBC支持的Infinispan缓存。standalone-full.xml中的缓存容器定义如下所示: <cache-container name="SearchCacheContainer" default-cache="SearchCache" module="org.infinispan.cachestore.jdbc"> <local-cache name="Searc

我试图在JBoss EAP 7或Wildfly 10服务器上创建一个JDBC支持的Infinispan缓存。standalone-full.xml中的缓存容器定义如下所示:

<cache-container name="SearchCacheContainer" default-cache="SearchCache" module="org.infinispan.cachestore.jdbc">
                <local-cache name="SearchCache">
                    <expiration max-idle="60000" interval="6000"/>
                    <transaction mode="FULL_XA"/>                   
                    <string-keyed-jdbc-store data-source="java:jboss/datasources/InfinispanCacheDS" preload="true" passivation="false" purge="false">
                        <property name="databaseType">
                            postgres
                        </property>
                        <property name="createTableOnStart">
                            true
                        </property>
                        <string-keyed-table prefix="str_">  
                            <id-column name="id" type="VARCHAR2(200)"/>  
                            <data-column name="datum" type="BLOB"/>  
                            <timestamp-column name="version" type="NUMBER"/>  
                        </string-keyed-table> 
                    </string-keyed-jdbc-store>
                </local-cache>
            </cache-container>
<datasource jndi-name="java:jboss/datasources/InfinispanCacheDS" pool-name="InfinispanCacheDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:postgresql://localhost:5432/db_infinispan_cache</connection-url>
                <driver>postgresql-jdbc4</driver>
                <pool>
                    <min-pool-size>10</min-pool-size>
                    <max-pool-size>20</max-pool-size>
                    <prefill>true</prefill>
                    <flush-strategy>IdleConnections</flush-strategy>
                </pool>
                <security>
                    <user-name>infinispan_cache</user-name>
                    <password>mypasswordhere</password>
                </security>
                <validation>
                    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/>
                    <validate-on-match>true</validate-on-match>
                    <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/>
                </validation>
                <statement>
                    <track-statements>true</track-statements>
                </statement>
            </datasource>

谁能解释一下我做错了什么?关于这个特殊功能的文档似乎很薄,所以我确信我遗漏了一些东西,但不知道是什么。谢谢

您需要参考以下链接[1]、[2]:

[1]


[2]

链接2指的是Hibernate缓存,而链接1则用于配置独立的Infinispan实例。这两个都不是我要找的。我正在寻找有关配置Wildfly/JBoss管理的Infinispan缓存的帮助。请尝试设置data source=InfinispanCacheDSLooks,这正是它所需要的!尽管如此,它不是在启动时创建表,而是抱怨createTableOnStart属性。知道要使用的正确标志是什么吗?在wildfly 10中包含的infinispan 8.x的xsd中,缓存存储元素的属性createTableOnStart不存在,table元素有createOnStart开始时创建属性,目前,我认为无法在wildfly子系统中设置此值。@Shadowman,你还需要帮忙吗?
14:02:09,692 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/subsystem=infinispan/cache-container=SearchCacheContainer/local-cache=SearchCache/store=string-jdbc' are not available:
    org.wildfly.data-source.java:jboss/datasources/InfinispanCacheDS; There are no known registration points which can provide this capability.