私は、消費者プロセスによってキューが枯渇したときに、既存のメッセージの複製コピーを追加することにより、プライベート キューに最小限の数のメッセージを維持する powershell ユーティリティに取り組んでいます。
これが私がやっていることです
[Reflection.Assembly]::LoadWithPartialName("System.Messaging") | out-null
[Reflection.Assembly]::LoadWithPartialName("System.Text") | out-null
.
.
$enum = $queue.GetMessageEnumerator2();
while($enum.MoveNext())
{
#Strategy 1 - Re-add existing message to queue
$message = $enum.Current;
$queue.Send($message);
#Strategy 2 - Add a dummy message to queue
$messageClone = New-Object System.Messaging.Message;
$queue.Send($messageClone);
logInfo("Number of messages in Queue - " + $queue.GetAllMessages().Length);
}
.
.
メッセージをキューに追加した後、メッセージの総数が同じままであるため、これが機能しているとは思いません。このアプローチの問題点を教えてください。