我们有多个Ubuntu服务器,它们都是Tomcat 8和Java 8 update 45;它们执行我们的应用程序都没有问题;但在最近创建的服务器上,应用程序在初始化时崩溃,并显示以下(部分)堆栈跟踪:
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吗?
发布于 2015-07-24 22:06:06
而jboss-marshalling/1.4.9 While和更老的版本都有这个方法
@Deprecated
public void setExternalizerCreator(final Creator externalizerCreator)较新版本的jboss-marshalling/2.0.0.Beta2则不支持。参见here。可能是你有一个新的库,它与旧的库不兼容。我会比较新旧服务器上的jboss-marshallingXXXXX.jar版本。
希望这能有所帮助
https://stackoverflow.com/questions/31609318
复制相似问题