可移植数据类型(.NET 和 Java 缓存)
为了在异构应用程序之间共享数据,大多数消息传递解决方案都需要构建基于自描述消息文本的应用程序。应用程序有责任使用数据格式,以便接收应用程序编码可以对其进行解码。如果使用XML数据格式,就会遇到性能问题。
此外,具有多个发布者的高度并发应用程序环境更有可能出现竞争条件,从而导致数据完整性问题。消息传递系统在过程控制消息或到多个目的地的消息传递(队列或主题)功能的消息之间没有固有关系。
大多数消息传递解决方案实际上旨在支持多种协议、消息可靠性方面的灵活性等等。但是,当涉及到像 .NET 这样希望与 Java 共享数据的相反应用程序时,您可以在采取行动之前建立沉重的头脑或基于消息编码、解码、文本消息传递设置、消息关联和研究数据库相关背景信息的有效负载的解释。
.NET 和 Java 缓存中的数据类型可移植性
NCache 具有以下功能 数据类型可移植性 通过缓存针对异构应用程序,使用二进制协议,借助紧凑序列化减少流量和数据大小,从而提高性能。为了解释这个功能,我们将以具有 id、名称、数量、类别等属性的产品实体为例。
数据类型可移植性 该功能将允许 .NET 客户端应用程序从 Java 客户端应用程序插入的缓存中获取 Product 类的对象,并将成功反序列化为 .NET Product 类,反之亦然。
您只需通过管理工具将两个产品类配置为共享类型 NCache 并将该类的一个或多个属性映射到您想要在平台上共享的另一个属性,非映射属性在另一端接收时将包含默认值。通过配置运行时数据共享 NCache 管理中心,参见 注册可移植数据共享的类 ,在 NCache 管理员指南。
类属性映射
类属性映射 | |
---|---|
产品类 (C#) | 产品类 (java) |
Id | _ID |
姓名 | _名称 |
车资 | _价格 |
数量 | |
_类别 |
上表中,类的属性已经相互映射;数量和类别在目标类中没有映射属性,因此它们未映射。
备注
查询索引 如果添加到查询索引列表,也会在共享数据类型之间共享。
数据共享
对于所有使用这两种技术的客户来说,数据共享是一项出色的功能 NCache .NET 和 NCache Java 版本,但有一些限制,如下所示:
现在支持自定义泛型类型,但不能共享泛型类型。
如果有多个版本,用户需要定义Read-Thru/Write-Thru和CacheLoader的默认版本。
在数据共享中注册的对象必须同时在紧凑序列化中注册。
序列化 .NET/Java 类时应考虑以下映射: