函数名:mqseries_back()
适用版本:MQSeries扩展 >= 0.10.0
函数描述:mqseries_back() 函数用于从队列中返回一个消息。它将消息从应用程序中删除,并将其放回队列的开头。
语法:bool mqseries_back ( resource $hconn , resource $objdesc , resource &$compcode , resource &$reason )
参数:
- $hconn:MQSeries 连接资源句柄,通过 mqseries_conn() 函数获得。
- $objdesc:MQSeries 队列对象描述符资源句柄,通过 mqseries_open() 或 mqseries_put() 函数获得。
- $compcode:用于接收 MQSeries 完成代码的变量。
- $reason:用于接收 MQSeries 原因代码的变量。
返回值:成功时返回 true,失败时返回 false。
示例:
<?php
// 创建一个 MQSeries 连接
$conn = mqseries_conn();
// 打开一个队列
$objdesc = mqseries_open($conn, '/queue_name', MQSERIES_MQOO_INPUT_AS_Q_DEF);
// 从队列中获取一个消息
$msg = mqseries_get($conn, $objdesc, $compcode, $reason);
if ($compcode === MQSERIES_MQCC_OK) {
// 处理消息
echo "接收到消息:{$msg}\n";
} else {
echo "获取消息失败,原因代码:{$reason}\n";
}
// 将消息返回队列开头
mqseries_back($conn, $objdesc, $compcode, $reason);
// 关闭队列
mqseries_close($conn, $objdesc);
// 断开 MQSeries 连接
mqseries_disc($conn);
?>
上述示例中,我们首先创建了一个 MQSeries 连接,然后打开了一个队列。接着使用 mqseries_get() 函数从队列中获取一个消息,并判断获取是否成功。如果成功,我们处理该消息;如果失败,我们打印出原因代码。最后,我们使用 mqseries_back() 函数将消息返回到队列的开头,然后关闭队列并断开 MQSeries 连接。
请注意,示例中的连接、队列和消息处理部分可能需要根据实际情况进行适当修改。