0

我有一个使用 Jcache 的 hazelcast 成员。我正在为 Jcache 使用 CacheLoader 和 CacheWriter。

在另一个集群成员上,我收到一个异常,即无法加载其中一个 Jcache CacheLoader 类。缓存加载器被定义为一个内部私有静态类。

下面是我的用户代码部署配置在两个成员上的样子。

<user-code-deployment enabled="true">
    <class-cache-mode>ETERNAL</class-cache-mode>
    <provider-mode>LOCAL_CLASSES_ONLY</provider-mode>
</user-code-deployment>

我得到的例外是:

com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: Failed to load class app.cache.HzAuthCacheManagerImpl$DefaultCacheLoader from other members.
    at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:83)
    at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:72)

Caused by: java.lang.ClassNotFoundException: Failed to load class app.cache.HzAuthCacheManagerImpl$DefaultCacheLoader from other members.
    at com.hazelcast.internal.usercodedeployment.impl.ClassLocator.tryToGetClassFromRemote(ClassLocator.java:157)
    at com.hazelcast.internal.usercodedeployment.impl.ClassLocator.handleClassNotFoundException(ClassLocator.java:95)
    at com.hazelcast.internal.usercodedeployment.UserCodeDeploymentService.handleClassNotFoundException(UserCodeDeploymentService.java:89)

对于定义了 HzAuthCacheManagerImpl 的成员,我没有得到任何异常。

我的配置有什么问题,还是需要其他东西才能让用户代码部署与 JCache 一起工作?

4

0 回答 0