首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Infinispan时的NoSuchMethodError

使用Infinispan时的NoSuchMethodError
EN

Stack Overflow用户
提问于 2015-05-07 13:10:19
回答 1查看 662关注 0票数 1

我正试图使用hibernate和lucene在无限空间中进行查询。但我没有得到这种方法的例外。下面是我的依赖项、代码和异常

我对POM的依赖

代码语言:javascript
复制
<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <infinispan.version>LATEST</infinispan.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
        </dependency>

        <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-embedded</artifactId>
            <version>${infinispan.version}</version>
        </dependency>
        <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-cachestore-jdbc</artifactId>
            <version>7.0.0.CR2</version>
        </dependency>
        <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-embedded-query</artifactId>
            <version>${infinispan.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
            <version>5.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-search</artifactId>
            <version>5.1.1.Final</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.9</version>
        </dependency>
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
    </dependencies>

以下是缓存初始化和结构。我有一个mysql存储,它有我预压的数据。

代码语言:javascript
复制
EmbededCache embededCache = new EmbededCache();
                ConfigurationBuilder b = new ConfigurationBuilder();
                b.eviction().maxEntries(100l);
                b.indexing().enabled(true).addProperty("default.directory_provider", "ram");
                b.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class)
                    .preload(true)
                   .fetchPersistentState(false)
                   .ignoreModifications(false)
                   .purgeOnStartup(false)
                   .table()
                   .createOnStart(false)
                   .dropOnExit(false)
                   .createOnStart(false)
                   .tableNamePrefix("SIMULATOR.SCRIPS")
                   .idColumnName("SCRP_NAME").idColumnType("VARCHAR(255)")
                   .dataColumnName("SCRP_DETAILS").dataColumnType("BLOB")
                   .timestampColumnName("SCRP_LAST_UPDATED").timestampColumnType("BIGINT")
                   .connectionPool()
                   .connectionUrl("jdbc:mysql://ip:3306")
                   .username("user")
                   .password("password")
                   .driverClass("com.mysql.jdbc.Driver");

                final Configuration config = b.build();

                EmbeddedCacheManager cacheManager = new DefaultCacheManager(config);
                Cache<String, ScripDetails> cache = cacheManager.getCache();


                ScripDetails scripDetails = new ScripDetails();
                scripDetails.scripName = "ICICIBANK";
                scripDetails.open = 2050;
                scripDetails.high = 2030;
                scripDetails.low = 1988;
                scripDetails.close= 2010L;
                scripDetails.volume = 50550;
                scripDetails.turnover= 51515L;
                scripDetails.date = Calendar.getInstance().getTime();

                cache.put("ICICIBANK",scripDetails);

                SearchManager sm = Search.getSearchManager(cache);
                org.hibernate.search.query.dsl.QueryBuilder builder = sm.buildQueryBuilderForClass(ScripDetails.class).get();

                Query luceneQuery = builder.keyword() .onField("scripName") .matching("INFY") .createQuery();

                CacheQuery cacheQuery = sm.getQuery( luceneQuery );

                // get the results:
                List<Object> found = cacheQuery.list();

java.lang.NoSuchMethodError: org.apache.lucene.codecs.blocktree.BlockTreeTermsWriter.validateSettings(II)V
    at org.apache.lucene.codecs.lucene50.Lucene50PostingsFormat.<init>(Lucene50PostingsFormat.java:412)
    at org.apache.lucene.codecs.lucene50.Lucene50PostingsFormat.<init>(Lucene50PostingsFormat.java:403)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:67)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:47)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
    at org.apache.lucene.codecs.PostingsFormat.<clinit>(PostingsFormat.java:44)
    at org.apache.lucene.codecs.lucene40.Lucene40Codec.<init>(Lucene40Codec.java:52)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:67)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:47)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
    at org.apache.lucene.codecs.Codec.<clinit>(Codec.java:41)
    at org.apache.lucene.index.LiveIndexWriterConfig.<init>(LiveIndexWriterConfig.java:125)
    at org.apache.lucene.index.IndexWriterConfig.<init>(IndexWriterConfig.java:171)
    at org.hibernate.search.store.spi.DirectoryHelper.initializeIndexIfNeeded(DirectoryHelper.java:55)
    at org.hibernate.search.store.impl.RAMDirectoryProvider.start(RAMDirectoryProvider.java:52)
    at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.initialize(DirectoryBasedIndexManager.java:90)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:256)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:513)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManagers(IndexManagerHolder.java:482)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.buildEntityIndexBinding(IndexManagerHolder.java:91)
    at org.hibernate.search.spi.SearchIntegratorBuilder.initDocumentBuilders(SearchIntegratorBuilder.java:358)
    at org.hibernate.search.spi.SearchIntegratorBuilder.buildIncrementalSearchFactory(SearchIntegratorBuilder.java:147)
    at org.hibernate.search.spi.SearchIntegratorBuilder.buildSearchIntegrator(SearchIntegratorBuilder.java:120)
    at org.hibernate.search.engine.impl.MutableSearchFactory.addClasses(MutableSearchFactory.java:233)
    at org.infinispan.query.backend.SearchFactoryHandler$1.execute(SearchFactoryHandler.java:85)
    at org.infinispan.query.backend.TransactionHelper.runSuspendingTx(TransactionHelper.java:23)
    at org.infinispan.query.backend.SearchFactoryHandler.updateSearchFactory(SearchFactoryHandler.java:80)
    at org.infinispan.query.backend.SearchFactoryHandler.handleOnDemandRegistration(SearchFactoryHandler.java:55)
    at org.infinispan.query.backend.SearchFactoryHandler.updateKnownTypesIfNeeded(SearchFactoryHandler.java:42)
    at org.infinispan.query.backend.QueryInterceptor.updateKnownTypesIfNeeded(QueryInterceptor.java:268)
    at org.infinispan.query.backend.QueryInterceptor.processPutKeyValueCommand(QueryInterceptor.java:455)
    at org.infinispan.query.backend.QueryInterceptor.visitPutKeyValueCommand(QueryInterceptor.java:165)
    at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)
    at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
    at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:86)
    at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:40)
    at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:55)
    at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)
    at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
    at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:111)
    at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:44)
    at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)
    at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
    at org.infinispan.interceptors.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:191)
    at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:177)
    at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)
    at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
    at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102)
    at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71)
    at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:44)
    at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)
    at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336)
    at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1617)
    at org.infinispan.cache.impl.CacheImpl.putInternal(CacheImpl.java:1097)
    at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1089)
    at org.infinispan.cache.impl.DecoratedCache.put(DecoratedCache.java:522)
    at org.infinispan.persistence.manager.PersistenceManagerImpl.preloadKey(PersistenceManagerImpl.java:658)
    at org.infinispan.persistence.manager.PersistenceManagerImpl.access$000(PersistenceManagerImpl.java:70)
    at org.infinispan.persistence.manager.PersistenceManagerImpl$1.processEntry(PersistenceManagerImpl.java:234)
    at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore$2.call(JdbcStringBasedStore.java:350)
    at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore$2.call(JdbcStringBasedStore.java:317)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22)
    at java.util.concurrent.ExecutorCompletionService.submit(Unknown Source)
    at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.process(JdbcStringBasedStore.java:317)
    at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:226)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
    at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
    at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
    at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
    at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
    at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:218)
    at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:850)
    at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:599)
    at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:554)
    at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:424)
    at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:397)
    at com.tlab.EmbededCache.main(EmbededCache.java:55)

May 07, 2015 8:01:49 AM org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore process
ERROR: ISPN000252: Error executing parallel store task
java.util.concurrent.ExecutionException: org.infinispan.persistence.spi.PersistenceException: Unable to preload!
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.process(JdbcStringBasedStore.java:364)
    at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:226)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
    at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
    at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
    at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
    at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
    at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:218)
    at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:850)
    at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:599)
    at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:554)
    at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:424)
    at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:397)
    at com.tlab.EmbededCache.main(EmbededCache.java:55)
Caused by: org.infinispan.persistence.spi.PersistenceException: Unable to preload!
EN

回答 1

Stack Overflow用户

发布于 2015-05-12 13:42:58

这个例外有点奇怪,但也许您可以尝试以下几点:

  • 使用更新版本的所有Infinispan工件,我建议升级到7.2.1.Final。
  • 请确保所有Infinispan工件都有相同的版本(到目前为止,我可以看到您正在混合最新版本和7.0.CR2)
  • Infinispan7.2.1. highly与Lucene 4.8.1、4.9.0、4.10.0、4.10.1、4.10.2兼容,因此我强烈建议使用这些版本。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30102072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档