为 PHP 中的 MSMQ 消息设置可恢复属性
Setting Recoverable attribute for MSMQ messages in PHP
我想设置一个 Recoverable attribute 发送到 MSMQ 的表单消息。我一直在搜索一些资源如何在 PHP 中执行此操作,但我没有找到任何资源。我试过这个
if(!$msgOut = new COM("MSMQ.MSMQMessage")){
return false;
}
$msgOut->Body = $this->getBody();
$msgOut->Label = $this->getLabel();
$msgOut->Recoverable = true;
$msgOut->Send($msgQueue);
但它不起作用。我还尝试将布尔值设置为字符串值和整数,但 none 它起作用了。
当我尝试 $msgOut->Recoverable = "true";
或 $msgOut->Recoverable = true;
我得到 com_exception
Unable to lookup `Recoverable': Unknown name.
没有可恢复的属性,所以这行是错误的:
$msgOut->Recoverable = true;
根据 class MSMQMessage, the property name should be "Delivery" and value is MQMSG_DELIVERY_RECOVERABLE 的文档:
public const int MQMSG_DELIVERY_EXPRESS = 0;
public const int MQMSG_DELIVERY_RECOVERABLE = 1;
您可以通过这种方式发送可恢复的消息:
$msgOut->Body = $this->getBody();
$msgOut->Label = $this->getLabel();
$msgOut->Delivery = 1;
$msgOut->Send($msgQueue);
我想设置一个 Recoverable attribute 发送到 MSMQ 的表单消息。我一直在搜索一些资源如何在 PHP 中执行此操作,但我没有找到任何资源。我试过这个
if(!$msgOut = new COM("MSMQ.MSMQMessage")){
return false;
}
$msgOut->Body = $this->getBody();
$msgOut->Label = $this->getLabel();
$msgOut->Recoverable = true;
$msgOut->Send($msgQueue);
但它不起作用。我还尝试将布尔值设置为字符串值和整数,但 none 它起作用了。
当我尝试 $msgOut->Recoverable = "true";
或 $msgOut->Recoverable = true;
我得到 com_exception
Unable to lookup `Recoverable': Unknown name.
没有可恢复的属性,所以这行是错误的:
$msgOut->Recoverable = true;
根据 class MSMQMessage, the property name should be "Delivery" and value is MQMSG_DELIVERY_RECOVERABLE 的文档:
public const int MQMSG_DELIVERY_EXPRESS = 0;
public const int MQMSG_DELIVERY_RECOVERABLE = 1;
您可以通过这种方式发送可恢复的消息:
$msgOut->Body = $this->getBody();
$msgOut->Label = $this->getLabel();
$msgOut->Delivery = 1;
$msgOut->Send($msgQueue);