发送消息可以为消息指定一些参数
- Delivery mode: 是否持久化,1 - Non-persistent,2 - Persistent
- Headers:Headers can have any name. Only long string headers can be set here.
- Properties: You can set other message properties here (delivery mode and headers are pulled out as the most common cases). Invalid properties will be ignored. Valid properties are:
- content_type : 消息内容的类型
- content_encoding: 消息内容的编码格式
- priority: 消息的优先级
- correlation_id:关联id
- reply_to: 用于指定回复的队列的名称
- expiration: 消息的失效时间
- message_id: 消息id
- timestamp:消息的时间戳
- type: 类型
- user_id: 用户id
- app_id: 应用程序id
- cluster_id: 集群id
- Payload: 消息内容
例如:
生产消息时添加message_id:
$message = new AMQPMessage($messageBody, ['content_type' => 'text/plain','message_id'=>123, 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT]); // 定义消息
消费消息时:
if($msg->has('message_id')){
echo_txt(' >>> message_id '. $msg->get('message_id'). "\n");
}