HazelCast 升级问题从 2.5 到 3.8
HazelCast Upgrade Issue from 2.5 to 3.8
我正在将 HazelCast 从 2.5 升级到 3.8,但升级后出现以下异常:
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load of: .
.
.
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827)
at com.google.inject.internal.FailableCache.get(FailableCache.java:48)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:547)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:884)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214)
at com.google.inject.internal.SingleFieldInjector.<init>(SingleFieldInjector.java:42)
at com.google.inject.internal.MembersInjectorStore.getInjectors(MembersInjectorStore.java:131)
at com.google.inject.internal.MembersInjectorStore.createWithListeners(MembersInjectorStore.java:98)
有人知道吗?
这是 guice 中的错误,当 guice 由于缺少接口实现绑定而无法初始化注入 class 或在构造函数初始化期间失败时,它会显示此错误而不是实际错误,
你可以检查,
https://github.com/google/guice/issues/785
以下程序因同样的错误而失败
`package com.guicetest;
import javax.inject.Inject;
import javax.inject.Provider;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Provides;
/* Dependencies:
Class01
Class04
Class03
Class02
@Provides Class01
Class03
Class01
Class04
Class05
Class01
Class05
Interface01
*/
public class MyTest {
public static void main(String[] args) {
Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
}
@Provides
public Class02 providesClass02(Provider<Class01> arg) {
return null;
}
});
}
}
class Class01 {
@Inject
public Class01(Provider<Class04> arg1, Provider<Class03> arg2) {
}
}
class Class02 {
}
class Class03 {
@Inject
public Class03(Provider<Class01> arg) {
}
}
class Class04 {
@Inject
public Class04(Provider<Class05> arg1, Provider<Class01> arg2) {
}
}
class Class05 {
@Inject
public Class05(Provider<Interface01> arg) {
}
}
interface Interface01 {
}`
你可以通过在异常原因中将调试点放在LocalCache上并展开加载器对象来找到实际错误,你将能够找到实际错误,
Finding actual error in intellij IDE
我正在将 HazelCast 从 2.5 升级到 3.8,但升级后出现以下异常:
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load of: .
.
.
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827)
at com.google.inject.internal.FailableCache.get(FailableCache.java:48)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:547)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:884)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214)
at com.google.inject.internal.SingleFieldInjector.<init>(SingleFieldInjector.java:42)
at com.google.inject.internal.MembersInjectorStore.getInjectors(MembersInjectorStore.java:131)
at com.google.inject.internal.MembersInjectorStore.createWithListeners(MembersInjectorStore.java:98)
有人知道吗?
这是 guice 中的错误,当 guice 由于缺少接口实现绑定而无法初始化注入 class 或在构造函数初始化期间失败时,它会显示此错误而不是实际错误, 你可以检查, https://github.com/google/guice/issues/785
以下程序因同样的错误而失败
`package com.guicetest;
import javax.inject.Inject;
import javax.inject.Provider;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Provides;
/* Dependencies:
Class01
Class04
Class03
Class02
@Provides Class01
Class03
Class01
Class04
Class05
Class01
Class05
Interface01
*/
public class MyTest {
public static void main(String[] args) {
Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
}
@Provides
public Class02 providesClass02(Provider<Class01> arg) {
return null;
}
});
}
}
class Class01 {
@Inject
public Class01(Provider<Class04> arg1, Provider<Class03> arg2) {
}
}
class Class02 {
}
class Class03 {
@Inject
public Class03(Provider<Class01> arg) {
}
}
class Class04 {
@Inject
public Class04(Provider<Class05> arg1, Provider<Class01> arg2) {
}
}
class Class05 {
@Inject
public Class05(Provider<Interface01> arg) {
}
}
interface Interface01 {
}`
你可以通过在异常原因中将调试点放在LocalCache上并展开加载器对象来找到实际错误,你将能够找到实际错误, Finding actual error in intellij IDE