使用Jcache部署Hazelcast用户代码

时间:2018-07-25 21:29:38

标签: hazelcast jcache

我有一个使用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一起使用?

0 个答案:

没有答案