PHP code example of bariton3 / mqseries-php
1. Go to this page and download the library: Download bariton3/mqseries-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bariton3 / mqseries-php example snippets
composer
" ....,
"bariton3/mqseries-php",
},
'providers' => [
...
MqSeries\ServiceProvider\MqSeriesServiceProvider::class,
]
'aliases' => [
...
'MqSeries' => MqSeries\Facades\MqSeriesFacade::class,
]
/*
|----------------------------------
| Service Keys
|------------------------------------
*/
'channel' => 'ADD MQ_SERIES_CHANNEL HERE',
'queue_name' => ' ADD MQ_SERIES_QUEUE_NAME HERE',
'queue_manager' => 'ADD MQ_SERIES_QUEUE_MANAGER HERE',
'ip' => ' ADD MQ_SERIES_IP HERE',
'port' => 'ADD MQ_SERIES_PORT HERE',
'options' => MQSERIES_MQCNO_STANDARD_BINDING,
//Open Queue:
$openParams = new MqSeries\Open\Params();
$openParams->objectDescType = MQSERIES_MQOT_Q;
$openParams->objectName = config('mqseries.queue_name');
$openParams->objectQMName = '';
$openParams->option = MQSERIES_MQOO_OUTPUT | MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING;
try {
$queueOpenResult = MqSeries::openQueueOnQM($openParams);
} catch (MqSeries\QueueManagerConnectionFailedException $ex) {
die('Exception when opening queue: ' . $ex->getCode() . ' - ' . $ex->getMessage());
} catch (ExtensionNotLoadedException $ex) {
die('YOU MUST FIRST ENABLE THE mqseries PHP EXTENSION');
} catch (NoConnectionParametersException $ex) {
die('YOU DID NOT PROVIDE CONNECTX PARAMS!');
}
if ($queueOpenResult !== true) {
die(
'SOMETHING WENT WRONG WHEN OPENING THE QUEUE: ' .
sprintf(
"CompCode:%d Reason:%d Text:%s\n",
MqSeries::getLastCompletionCode(),
MqSeries::getLastCompletionReasonCode(),
MqSeries::getLastCompletionReason()
)
);
}
// put the message on the queue.
$mqPutParams = new MqSeries\Put\Params();
$mqPutParams->gmoOptions = MQSERIES_MQPMO_NEW_MSG_ID;
MqSeries::putMessageToQueue($mqPutParams, 'PING');
if (MqSeries::getLastCompletionCode() !== MQSERIES_MQCC_OK) {
die(printf("put CompCode:%d Reason:%d Text:%s<br>\n", MqSeries::getLastCompletionCode(), MqSeries::etLastCompletionReasonCode(), MqSeries::getLastCompletionReason()));
}
//Get one message from queue:
$messageContent = '';
$mqGetParams = new MqSeries\Get\Params();
$mqGetParams->gmoOptions = MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT | MQSERIES_MQGMO_CONVERT;
$mqGetParams->gmoWaitInterval = 5000;
try {
$messageContent = MqSeries::getMessageFromQueue($mqGetParams);
echo $messageContent."\n";
}
catch (QueueIsEmptyException $ex) {
echo "The queue is empty, no big deal.";
if (is_string($messageContent)) {
echo 'message retrieved from queue: ' . $messageContent;
} else {
die(
'SOMETHING WENT WRONG WHEN RETRIEVING A MESSAGE: ' .
sprintf(
"CompCode:%d Reason:%d Text:%s\n",
MqSeries::getLastCompletionCode(),
MqSeries::getLastCompletionReasonCode(),
MqSeries::getLastCompletionReason()
)
);
}
}
//Close & disconnect:
MqSeries::close();
MqSeries::disconnect();