55.2.6. 6.KeyValuePairField


KeyValuePairField 注释定义键值对字段的 属性。每个 KeyValuePairField 都由标签(= 键)及其关联值标识,类型(字符串,int、日期 …)、可选模式以及字段。

注解名称记录类型级别

KeyValuePairField

Key Value Pair - FIX

属性

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

tag

int

 

标记消息中的字段(必需)- 必须是唯一的。

impliedDecimalSeparator

布尔值

 

false

<b>Camel 2.11:</b> Indicates 如果位于指定位置表示的十进制点

name

字符串

  

字段的名称(可选)

pattern

字符串

  

格式化用于转换数据的模式(可选)

position

int

 

0

在 FIX 消息中的键/标签位置必须不同时,生成的消息中的字段的位置必须不同

精度

int

 

0

要创建的 BigDecimal 数字的精度

required

布尔值

 

false

指明字段是必须的

timezone

字符串

  

要使用的时区。

case 1 : tag

此参数代表消息中字段的键:

FIX 消息 - Tag

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

    @Link Header header;

    @Link Trailer trailer;

    @KeyValuePairField(tag = 1) // Client reference
    private String Account;

    @KeyValuePairField(tag = 11) // Order reference
    private String ClOrdId;

    @KeyValuePairField(tag = 22) // Fund ID type (Sedol, ISIN, ...)
    private String IDSource;

    @KeyValuePairField(tag = 48) // Fund code
    private String SecurityId;

    @KeyValuePairField(tag = 54) // Movement type ( 1 = Buy, 2 = sell)
    private String Side;

    @KeyValuePairField(tag = 58) // Free text
    private String Text;
}

案例 2:输出中的不同位置

如果我们将放入 FIX 消息的标签/密钥必须按照预先定义的顺序进行排序,则使用注释 @KeyValuePairField 的属性 位置

FIX 消息 - Tag - sort

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

    @Link Header header;

    @Link Trailer trailer;

    @KeyValuePairField(tag = 1, position = 1) // Client reference
    private String account;

    @KeyValuePairField(tag = 11, position = 3) // Order reference
    private String clOrdId;
}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.