我的目标是运行一个Java Ignite节点,并连接一个。NET客户机。由于我遇到了一些问题,我使用了一个更简单的例子,不是服务器/客户机模型,而是服务器/服务器模型。在Ignite2.0之前,您可以在Java端设置BinaryConfiguration,如下所示:
// Configure Ignite to connect with .NET nodes
BinaryConfiguration binCfg = new BinaryConfiguration();
binCfg.setIdMapper(new BinaryBasicIdMapper());
binCfg.setNameMapper(new BinaryBasicNameMapper());
这在以下示例项目中有效:https://ptupitsyn.github.io/ignite-multi-platform-cluster/
但是,如果您将这两个工作项目从Ignite 1.7.0升级到Ignite 2.0.0,那么您现在将得到以下异常(这是来自Java端的异常):
原因:class org.apache.ignite.spi.ignitespiException:本地节点的二进制配置不等于远程节点的二进制配置[locnodeID=2D98D083-859F-4BAE-BB9A-16FE00F9F39A,rmtnodeID=D9F68030-79B1-4E41-BD00-1BEC44DCA9E3,locbinaryCFG={globidMapper=org.apache.ignite.binaryBasicIDMapper,compactFooter=true,globserializer=null},rmtBinaryCFG={true,GlobSerializer=null}]
您将注意到,在上面的异常中,Java节点具有BinaryBasicIdMapper设置,然而remote.NET节点不再具有此映射器,这导致了此异常。
我尝试了以下方法,但没有成功:
我一直在搜索Ignite文档,试图找出在Ignite2.0中要做什么,但我找不到任何要做什么的例子。还有人面临过这个问题吗?你是怎么解决的?
在Ignite 2.0+中连接Java和.NET节点并相互映射类型:
BinaryBasicNameMapper
与SimpleName
同时使用
- 不设置
IDMapper
- 用
ignite.binary().type(Foo.class)
(Java)和ignite.getbinary().getbinarytype(typeof(Foo))
(.net) 注册两边的类型
详情:
NET2.0+使用了与Java以前相同的动态类型注册。在启动节点之前不需要在BinaryConfiguration中注册类型。通常,您根本不需要注册类型(就像我们在GetBinaryType调用中所做的那样)-类型在第一次使用时会自动注册。但是,当涉及多个平台时,您可以得到此“未知对”异常,因为每个平台都在单独的数据结构中注册类型。为什么?因为在反序列化时,Ignite需要实例化一个实际的类。在。NET中,该类可能是
foo.bar.message
,Java中可能是org.foo.bar.message
。因此,即使这两个类映射到相同的Ignite二进制类型(简单名称映射器抛弃了名称空间/包),在反序列化时,我们需要知道完全限定的名称。
我已经更新了有问题的博客文章,并为Ignite-2.0分支添加了工作示例
我有一个奇怪的问题,每天我的AJAX请求一个网站不再工作。 我现在正在努力使它工作,但找不到问题。 这是我的JavaScript:基本上它非常简单,它检索ip adres并将其发送到存储它的站点。 在服务器上,我现在添加了这一项,以避免使用通配符 当我只使用 头('access-control-allow-origin:');我得到错误:Cross-Origin-request blocked:C
我正在与以下人员合作: MySQL:稳定5.6.22(瓶装) MysqlWorkbench 6.2 我有以下顺序 null 它又起作用了,只是玩,我试着再执行一次 确保返回1 原来的错误信息不会再次出现。 null MySQL服务器已停止并重新启动 工作台重新打开 计算机已重新启动 和返回1 不会再次出现原始错误消息。
我有这样的配置 在包中,有一个组件需要中的存储库。 这适用于spring数据MongoDB 1.5.2版 如果我升级到任何高于1.6.0.release的版本(我尝试过1.6.2和1.7.0),这将不再有效。这就好像mongo存储库扫描不工作,我得到了错误: 有什么想法吗? 更新:如果我使用MongoRepository而不是PagingAndSortingRepository,它可以工作: 这不
我发现,在2.4中引入了IgniteSpringBean的更改,将ignite实例的启动延迟到所有其他spring Bean初始化之后,可能已经中断了ignite SpringTransactionManager,导致无法将其配置为ignite事务的spring事务抽象。我真的,非常需要找到一个解决这个问题的方法。有人有什么想法/建议吗? 请参阅下面的堆栈跟踪, 谢谢
问题内容: 问: 为什么不能在我的工作了吗? 我选择了一个相当强大的角度应用程序。我一直试图解决的最新问题是“页面刷新时丢失的用户凭据”问题。 当我拿起项目的auth服务时,并没有多大意义,在深入研究后,我发现它是从几页随机代码中组合而成的。它也不能完全正常工作,因此我研究了不同的来源,并决定完全实现其中之一(angular-client-side-auth) 现在,我实现的身份验证服务/控制器与
我最近更新了我的自制Python 3.8安装。2至3.8。3.做完后,我跑了 以检查是否有任何更新。它更新了我从20.0安装的。2至20.1。1,并且自从我运行该命令以来,在我尝试使用它的任何时候都会抛出一个错误。以下是错误: 升级过程中似乎出现了一些问题,未能更改代码中的版本检查。我看到了类似的问题,但公认的答案对我来说并不适用。如何使再次可用?