55.2.5. 5.消息


Message 注解用于标识您的模型的类,它们将包含键值对字段。这种格式主要用于财务交换协议信息(修复)。不过,此注解可用于通过密钥识别数据的任何其他格式。密钥对值会相互隔开,这些分隔符可以是特殊的字符,如 tab delimitor(unicode representation : \u0009)或一开始标题(unicode 表示 : \u0001

注意

要使用 FIX 消息,模型必须包含与根消息类关联的标头和 Trailer 类,这些类可以是 Order 类。这并非强制性,但在结合使用 camel-bindy 与 camel-fix(基于快速Fix 项目的修复网关)时将很有帮助。

注解名称记录类型级别

消息

键值对

参数名称类型必需默认值info

keyValuePairSeparator

字符串

 

密钥对分隔符用于从键中分离值(必需)。可以是 '\u0001'、'\u0009'、'#' 或 'anything'。

pairSeparator

字符串

 

用于将键值对拆分为令牌中的键值对(必需)。可以是 '='、';' 或 'anything'。

crlf

字符串

 

WINDOWS

字符用于在每条记录后添加回车符(可选)。可能的值 = WINDOWS、UNIX、MAC 或 custom.如果您指定之前列出的三个值以外的值,则输入(custom)的值将用作 CRLF 字符。

isOrdered

布尔值

 

false

指明是否必须在输出中排序消息。此注解与模型的 message 类关联,必须声明一个时间。

name

字符串

  

描述消息的名称(可选)

type

字符串

 

修复

type 用于定义消息的类型(如 FIX、EMX、…)(可选)

version

字符串

 

4.1

版本定义消息的版本(如 4.1、…)(可选)

case 1 : separator = 'u0001'

用于分隔 FIX 消息中的键值对字段的分隔符为 ASCII 01 字符或 unicode 格式 \u0001。此字符必须再次转义,以避免 java 运行时错误。下面是一个示例:

8=FIX.4.1 9=20 34=1 35=0 49=INVMGR 56=BRKR 1=BE.CHM.001 11=CHM0001-01 22=4 ...

以及如何使用注解:

FIX - 消息

@Message(keyValuePairSeparator = "=", pairSeparator = "\u0001", type="FIX", version="4.1")
public class Order {

}

查看测试案例

ASCII 字符(如 tab …)不能显示在 WIKI 页面中。因此,请了解 camel-bindy 的测试案例,以查看 FIX 消息如何类似(https://github.com/apache/camel/blob/main/components/camel-bindy/src/test/data/fix/fix.txt)和 Order、Trailer、Header 类(https://github.com/apache/camel/blob/main/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/simple/Order.java)。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.