Apache Ignite:无法解组发现数据

时间:2017-05-24 10:25:57

标签: unmarshalling ignite

我尝试使用Ignite Jdbc连接;我的目标是能够通过Jdbc从任何客户端调用缓存。

我有很多场景在工作;所以数据加载正确;并且可以直接运行sql查询'反对缓存。

当我尝试使用

从单独的客户端拨打电话时

ResultSet rs = conn.createStatement().executeQuery("select * from my_table");

我遇到了错误:

class org.apache.ignite.IgniteCheckedException: Failed to find class with given class loader for unmarshalling (make sure same versions of all classes are available on all nodes or enable peer-class-loading) [clsLdr=URLClassLoader with NativeCopyLoader with RawResources(

有没有办法阻止Ignite jdbc连接尝试进行任何解组?

我希望我的客户对Ignite类尽可能不可知。例如;我想将mariaDb调用为Ignite - 尽可能在客户端更改代码。

如果我以错误的方式思考问题;那么No, that will never work because ...的答案也非常受欢迎。

由于 布伦特

1 个答案:

答案 0 :(得分:1)

如果您不希望将副本库复制到客户端的lib文件夹,则可以打开对等类加载:

<bean class="org.apache.ignite.configuration.IgniteConfiguration">
    ...   
    <!-- Explicitly enable peer class loading. -->
    <property name="peerClassLoadingEnabled" value="true"/>
    ...
</bean>

此外,您可以使用BinaryObject而不是您的类。 Here是使用带有BinaryObjects的sql的一些示例。有关二进制格式的更多信息,请参见here