48.8. 5.消息
Message 注解用于标识您的模型的类,它们将包含键值对字段。这种格式主要用于财务交换协议信息(修复)。不过,此注解可用于通过密钥识别数据的任何其他格式。密钥对值互相分隔,可以是一个特殊字符(如 tab delimitor (unicode 表示 : \u0009))或开始标题(unicode representation : \u0001)
*"FIX information"*
有关修复的更多信息可在此网站上找到:http://www.fixprotocol.org/ http://www.fixprotocol.org/要使用 FIX 消息,模型必须包含与根消息类关联的标头和 Trailer 类,这些类可以是 Order 类。这不是强制性,但当您使用 camel-bindy 和 camel-fix (基于快速Fix 项目 http://www.quickfixj.org/ )的修复网关时,将非常有用。
注解名称 | 记录类型 | 级别 |
---|---|---|
消息 | 键值对 | 类 |
参数名称 | type | info |
---|---|---|
pairSeparator | 字符串 | mandatory - 可以是 '=' 或 ';' 或 'anything' |
keyValuePairSeparair | 字符串 | mandatory - 可以是 '\u0001'、'\u0009'、'#' 或 'anything' |
crlf | 字符串 | 可选 - 可能的值 = WINDOWS、UNIX、MAC 或 custom;默认值 = WINDOWS - 允许定义要使用的回车字符。如果您指定之前列出的三个值,则输入(custom)的值将用作 CRLF 字符。 |
type | 字符串 | 可选 - 定义消息类型(例如 FIX、EMX、…) |
version | 字符串 | 可选 - 消息的版本(如 4.1) |
isOrdered | 布尔值 | 可选 - 默认值 = false - 允许在生成 FIX 消息时更改字段的顺序。此注解与模型的 message 类关联,必须声明一个时间。 |
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 { }
*Look at test cases*
Tab、… 等 ASCII 字符无法在 WIKI 页面中显示。因此,请仔细查看 camel-bindy 的测试案例,以准确了解 FIX 消息的显示方式(src\test\data\fix\fix.txt)和 Order, Trailer, Header 类(src\test\java\org\apache\camel\dataformat\bindy\model\fix\fix.java)