PHPKonf 2020 Online

mqseries_put

(PECL mqseries >= 0.10.0)

mqseries_putMQSeries MQPUT

説明

mqseries_put ( resource $hConn , resource $hObj , array &$md , array &$pmo , string $message , resource &$compCode , resource &$reason ) : void

The mqseries_put() (MQPUT) は、メッセージをキューあるいは配送リストにおきます。 キューあるいは配送リストを事前にオープンしておく必要があります。

パラメータ

hConn

接続ハンドル。

このハンドルは、キューマネージャへの接続を表します。

hObj

オブジェクトハンドル。

このハンドルは、使用するオブジェクトを表します。

md

メッセージ記述子 (MQMD)。

pmo

Put メッセージのオプション (MQPMO)。

message

実際にキューに置くメッセージ。

compCode

完了コード。

reason

compCode の原因を表すコード。

返り値

値を返しません。

例1 mqseries_put() の例

<?php
// キューマネージャへの接続をオープンします
    
mqseries_conn('WMQ1'$conn$comp_code$reason);
// これで、$conn がキューマネージャへの接続を指すようになります

// testq キューへの接続をオープンします
    
mqseries_open(
                
$conn,
                array(
'ObjectName' => 'TESTQ'),
                
MQSERIES_MQOO_INPUT_AS_Q_DEF MQSERIES_MQOO_FAIL_IF_QUIESCING MQSERIES_MQOO_OUTPUT,
                
$obj,
                
$comp_code,
                
$reason);
// これで、$obj はオブジェクト (TESTQ) を指すようになります

// メッセージ記述子の配列を設定します。MQSeries のリファレンスマニュアルを参照ください
    
$md = array(
                
'Version' => MQSERIES_MQMD_VERSION_1,
                
'Expiry' => MQSERIES_MQEI_UNLIMITED,
                
'Report' => MQSERIES_MQRO_NONE,
                
'MsgType' => MQSERIES_MQMT_DATAGRAM,
                
'Format' => MQSERIES_MQFMT_STRING,
                
'Priority' => 1,
                
'Persistence' => MQSERIES_MQPER_PERSISTENT);

// Put メッセージのオプションを設定します
    
$pmo = array('Options' => MQSERIES_MQPMO_NEW_MSG_ID|MQSERIES_MQPMO_SYNCPOINT);
    
// 'Ping' というメッセージをキューに置きます
    
mqseries_put($conn$obj$md$pmo'Ping'$comp_code$reason);

    if (
$comp_code !== MQSERIES_MQCC_OK) {
        
printf("put CompCode:%d Reason:%d Text:%s<br>\n"$comp_code$reasonmqseries_strerror($reason));
    }

// オブジェクトへの参照 $obj を閉じます
    
mqseries_close($conn$objMQSERIES_MQCO_NONE$comp_code$reason);

// キューマネージャとの接続を切断します
    
mqseries_disc($conn$comp_code$reason);
    
?>

参考

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top