我尝试使用Hibernate Search来使用在Amazon S3上托管的Lucene索引,但我得到以下异常:
Exception in thread "LuceneIndexesData-CloudCacheStore-0" java.lang.IllegalArgumentException: bucketId: A96137216.bz2 (expected: integer)
at org.infinispan.loaders.bucket.Bucket.setBucketId(Bucket.java:84)
at org.infinispan.loaders.cloud.CloudCacheStore.readFromBlob(CloudCacheStore.java:450)
at org.infinispan.loaders.cloud.CloudCacheStore.scanBlobForExpiredEntries(CloudCacheStore.java:292)
at org.infinispan.loaders.cloud.CloudCacheStore.purge(CloudCacheStore.java:284)
at org.infinispan.loaders.cloud.CloudCacheStore.purgeInternal(CloudCacheStore.java:336)
at org.infinispan.loaders.AbstractCacheStore$2.run(AbstractCacheStore.java:111)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
s3中持久化lucene索引的文档有点稀疏,但我认为我在正确的轨道上。我试图在我的应用程序中嵌入infinispan,所以我在hibernate.cfg.xml中指定了infinispan XML的路径,如下所示
<property name="hibernate.search.default.directory_provider">infinispan</property>
<property name="hibernate.search.infinispan.configuration_resourcename">infinispan-amazons3.xml</property>
<property name="hibernate.search.infinispan.chunk_size">300000000</property>
我的infinispan-amazons3.xml是:
<infinispan>
<default>
<loaders>
<cloudStore xmlns="urn:infinispan:config:cloud:5.3"
cloudService="aws-s3"
identity="user"
password="password"
bucketPrefix="bucket">
</cloudStore>
</loaders>
</default>
</infinispan>
我使用以下版本(maven pom.xml)
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search</artifactId>
<version>4.4.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-infinispan</artifactId>
<version>4.4.4.Final</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-cachestore-cloud</artifactId>
<version>5.3.0.Final</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>aws-s3</artifactId>
<version>1.4.1</version>
</dependency>
对使用hibernate-search和Amazon S3的所有帮助表示赞赏。
提前致谢。