如何将Amazon S3配置为Hibernate Search 4.5.3的远程缓存存储

时间:2018-01-29 13:08:29

标签: java hibernate amazon-s3 hibernate-search infinispan

我已将Hibernate Search配置为使用infinispan并使用基于文件系统的缓存存储来保存文件系统中的索引而不是内存。

现在,我希望配置S3而不是文件系统,但我无法为此找到正确的配置。

我的infinispan.xml文件是:

<infinispan
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="urn:infinispan:config:6.0 http://www.infinispan.org/schemas/infinispan-config-6.0.xsd"
      xmlns="urn:infinispan:config:6.0">

  <global>
    <globalJmxStatistics enabled="false" />
    <!-- <transport clusterName="storage-test-cluster" /> -->
    <shutdown hookBehavior="DONT_REGISTER" />
  </global>

  <default>
    <storeAsBinary
      enabled="false" />
    <locking
      isolationLevel="READ_COMMITTED"
      lockAcquisitionTimeout="20000"
      writeSkewCheck="false"
      concurrencyLevel="5000"
      useLockStriping="false" />
    <invocationBatching
      enabled="false" />
  </default>

  <namedCache name="LuceneIndexesMetadata">
    <persistence passivation="false">
       <singleFile
         fetchPersistentState="true"
         preload="true"
         purgeOnStartup="false"
         shared="true"
         ignoreModifications="false"
         location="C:\\infinispan">
       </singleFile>
     </persistence>
  </namedCache>

  <namedCache name="LuceneIndexesData">
    <persistence passivation="false">
       <singleFile
         fetchPersistentState="true"
         preload="true"
         purgeOnStartup="false"
         shared="true"
         ignoreModifications="false"
         location="C:\\infinispan">
       </singleFile>
     </persistence>
  </namedCache>

  <namedCache name="LuceneIndexesLocking">
    <!-- No CacheLoader configured here -->
  </namedCache>

</infinispan>

任何人都可以帮我配置此文件以将Amazon S3用作缓存存储。

1 个答案:

答案 0 :(得分:2)

您使用的Hibernate Search和Infinispan的特定版本非常老旧。具体来说,Infinispan在版本6中不支持Amazon S3上的存储。

我建议升级到一些仍在维护的更新版本。

在编写本文时,您可以将 Infinispan 9.1.5.Final Hibernate Search 5.8.2.Final 一起使用。