Jcache を使用する hazelcast メンバーがあります。Jcache に CacheLoader と CacheWriter を使用しています。
クラスタリングしている別のメンバーで、Jcache CacheLoader クラスの 1 つをロードできないという例外が発生します。キャッシュローダーは、内部のプライベートな静的クラスとして定義されています。
以下は、私のユーザーコード展開構成が両方のメンバーでどのように見えるかです。
<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 で動作させるために何か他のものが必要ですか?