1

何らかの理由でエラーキューに入れられたメッセージがいくつかあります。ReturnToSourceQueue.exeユーティリティを使用しようとしていますが、失敗します。何が起こるかです:

PS C:\tools\NServicebus> .\ReturnToSourceQueue.exe
Please enter the error queue you would like to use:
nservicebus_errors
Please enter the id of the message you'd like to return to its source queue, or 'all' to do so for all messages in the q
ueue.
all
Attempting to return message to source queue. Please stand by.
Returning message with id 60dda2a3-e60f-4eaf-a40b-3a081cde0258\4114510 to queue
Could not return message to source queue.
Reason: Format name is invalid.
   at System.Messaging.MessageQueue.MQCacheableInfo.get_WriteHandle()
   at System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS properties, ITransaction transaction)
   at System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS properties, IntPtr transaction)
   at System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTr
ansactionType transactionType)
   at NServiceBus.Tools.Management.Errors.ReturnToSourceQueue.Class1.ReturnMessage(String messageId)
   at NServiceBus.Tools.Management.Errors.ReturnToSourceQueue.Class1.ReturnMessageToSourceQueue(String messageId)
Message ID not found in time. Going to look in message labels for original ID.
Returning message with id 60dda2a3-e60f-4eaf-a40b-3a081cde0258\4114510 to queue
Could not return message to source queue.
Reason: Format name is invalid.
   at System.Messaging.MessageQueue.MQCacheableInfo.get_WriteHandle()
   at System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS properties, ITransaction transaction)
   at System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS properties, IntPtr transaction)
   at System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTr
ansactionType transactionType)
   at NServiceBus.Tools.Management.Errors.ReturnToSourceQueue.Class1.ReturnMessage(String messageId)
   at NServiceBus.Tools.Management.Errors.ReturnToSourceQueue.Class1.ReturnMessageToSourceQueue(String messageId)
Returning message with id 60dda2a3-e60f-4eaf-a40b-3a081cde0258\4192925 to queue

ここで何が起こっているのか分かりますか?「フォーマット名が無効です」とはどういう意味ですか?

4

1 に答える 1

0

このツールは、メッセージの Extension プロパティに格納されているメッセージ ヘッダーからキューの名前を取得します (ここでは MSMQ を想定しています)。これは、ツールから派生した名前が無効であることを意味します。メッセージ ヘッダーを見て、ソース キューの内容を確認します。これはNSBによって内部的に設定されているので、環境的なものだと思います(おそらくクラスター化またはリモートキュー)?

于 2012-11-09T15:22:36.880 に答える