Skip to content

IBM MQ

IBM MQ binding。輸出的成員是 ibmmq,每個物件都帶 bindingVersion: 0.1.0

@ibmMqServer

typespec
extern dec ibmMqServer(target: Namespace, config: valueof AsyncAPIIbmMqServerBinding);
欄位型別必填
groupIdstring
ccdtQueueManagerNamestring
cipherSpecstring
multiEndpointServerboolean
heartBeatIntervalint32

套用在服務 namespace 上。

heartBeatInterval 的範圍是 0 到 999999 秒。

AsyncAPI 規定 cipherSpec 只在 server 使用 TLS 時適用。emitter 不檢查這一點,因為這條規則跨兩個物件。

@ibmMqChannel

typespec
extern dec ibmMqChannel(
  target: Interface | Namespace,
  config: valueof AsyncAPIIbmMqChannelBinding
);
欄位型別必填
destinationTypestring
queueRecord<unknown>
topicRecord<unknown>
maxMsgLengthint32

destinationTypetopicqueuemaxMsgLength 的範圍是 0 到 104857600 位元組,也就是 100 MB。

AsyncAPI 規定 queue 只在型別為 queue 時適用,topic 只在型別為 topic 時適用。emitter 不檢查這個配對。

@ibmMqMessage

typespec
extern dec ibmMqMessage(target: Model, config: valueof AsyncAPIIbmMqMessageBinding);
欄位型別必填
typestring
headersstring
descriptionstring
expiryint32

typestringjmsbinaryexpiry 是毫秒數,不會是負數。零表示訊息永不過期。

headers 是以逗號分隔的標頭名稱清單,不是 Schema Object。IBM MQ 是本 library 裡唯一這樣定義該欄位的 binding。