首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用org.jboss.marshalling.MarshallingConfiguration.setExternalizerCreator :java.lang.NoSuchMethodError时,Infinispan崩溃

使用org.jboss.marshalling.MarshallingConfiguration.setExternalizerCreator :java.lang.NoSuchMethodError时,Infinispan崩溃
EN

Stack Overflow用户
提问于 2015-07-24 19:23:57
回答 1查看 1.5K关注 0票数 0

我们有多个Ubuntu服务器,它们都是Tomcat 8和Java 8 update 45;它们执行我们的应用程序都没有问题;但在最近创建的服务器上,应用程序在初始化时崩溃,并显示以下(部分)堆栈跟踪:

代码语言:javascript
复制
Caused by: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.marshall.core.GlobalMarshaller.start() on object of type GlobalMarshaller
        at org.infinispan.factories.GlobalComponentRegistry.start(GlobalComponentRegistry.java:241)
        at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:545)
        at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:516)
        at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:398)
        at com.ats.framework.model.dao.impl.SingleTenantInfinispanDirectoryProvider.criaCache(SingleTenantInfinispanDirectoryProvider.java:126)
        at com.ats.framework.model.dao.impl.SingleTenantInfinispanDirectoryProvider.start(SingleTenantInfinispanDirectoryProvider.java:98)
        at com.ats.framework.model.dao.search.impl.MultiTenantDirectoryProvider.getDirectory(MultiTenantDirectoryProvider.java:62)
        at org.hibernate.search.reader.SharingBufferReaderProvider.initialize(SharingBufferReaderProvider.java:95)
        at org.hibernate.search.reader.ReaderProviderFactory.createReaderProvider(ReaderProviderFactory.java:76)
        at org.hibernate.search.spi.SearchFactoryBuilder.buildNewSearchFactory(SearchFactoryBuilder.java:278)
        at org.hibernate.search.spi.SearchFactoryBuilder.buildSearchFactory(SearchFactoryBuilder.java:144)
        at org.hibernate.search.event.FullTextIndexEventListener.initialize(FullTextIndexEventListener.java:151)
        at org.hibernate.event.EventListeners$1.processListener(EventListeners.java:198)
        at org.hibernate.event.EventListeners.processListeners(EventListeners.java:181)
        at org.hibernate.event.EventListeners.initializeListeners(EventListeners.java:194)
        ... 63 more
Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.marshall.core.GlobalMarshaller.start() on object of type GlobalMarshaller
        at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)
        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.GlobalComponentRegistry.start(GlobalComponentRegistry.java:219)
        ... 77 more
Caused by: java.lang.NoSuchMethodError: org.jboss.marshalling.MarshallingConfiguration.setExternalizerCreator(Lorg/jboss/marshalling/Creator;)V
        at org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.<init>(AbstractJBossMarshaller.java:64)
        at org.infinispan.marshall.core.JBossMarshaller.<init>(JBossMarshaller.java:52)
        at org.infinispan.marshall.core.VersionAwareMarshaller.start(VersionAwareMarshaller.java:63)
        at org.infinispan.marshall.core.GlobalMarshaller.start(GlobalMarshaller.java:36)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
        ... 82 more

它与其他服务器完全相同的JVM,完全相同的Tomcat,运行完全相同的WAR。你知道是什么原因导致英飞侠只在特定的服务器上抛出NoSuchMethodError吗?

EN

回答 1

Stack Overflow用户

发布于 2015-07-24 22:06:06

而jboss-marshalling/1.4.9 While和更老的版本都有这个方法

代码语言:javascript
复制
@Deprecated
public void setExternalizerCreator(final Creator externalizerCreator)

较新版本的jboss-marshalling/2.0.0.Beta2则不支持。参见here。可能是你有一个新的库,它与旧的库不兼容。我会比较新旧服务器上的jboss-marshallingXXXXX.jar版本。

希望这能有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31609318

复制
相关文章

相似问题

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