首页 文章

Apache Ignite Cache ClassNotFoundException

提问于
浏览
0

我有一个apache点燃集群 .

所有节点都分为两个逻辑组:平台级节点( PLN )和应用程序级节点( ALN ) . 集群中的每个节点都有:

  • xml配置文件(ALN包含PLN配置和特定于应用程序的缓存配置)

  • 过滤类检测ALN

ALN包含用于Ignite缓存的POJO类,PLN不包含此类和 doesn't fit the nodeFilter .

启动时 BUT PLN (加入带有ALN的集群)尝试应用ALN缓存配置并捕获与应用程序POJO类相关的 ClassNotFoundException .

如果它不适合nodeFilter,可以点燃服务器节点忽略缓存配置吗?

2 回答

  • 0

    所有Ignite节点都需要拥有群集中的所有缓存配置 .

    nodeFilter 仅限制用于保存缓存数据的节点集 . 群集中的所有节点都可以查询任何缓存,因此需要此信息 .

    如果需要,您可以拥有两个集群,即使在单个JVM(每个节点)内也是如此 . 这样他们就不会以任何方式互动 .

  • 0

    如果在应该在服务器端执行的用户代码中使用二进制对象概念[1],则在大多数情况下,Ignite不需要在服务器端的类路径中具有键/值类 .

    但是,Ignite配置中提到的用户类必须位于所有节点上的类路径中 . 如果您需要SQL索引并使用二进制对象,则可以在网格启动时通过SQL查询动态创建索引 .

    请看一下BinaryObject概念[1] . 希望能帮助到你 .

    [1] https://apacheignite.readme.io/docs/binary-marshaller#section-basic-concepts

相关问题