Como posso automatizar a criação de uma fila de mensagens do MSMQ?

3

Eu preciso criar muitas filas de mensagens (MSMQ) em uma base regular, então eu quero automatizar o processo. Eu prefiro usar o morcego, mas estou muito aberto a outras idéias também. Infelizmente, não consigo encontrar informações sobre como fazer isso. Todas as minhas pesquisas retornam resultados sobre o pkgmgr.exe e a instalação do MSMQ. Nada sobre criar uma fila de fato.

Para referência, usarei isso no Windows 7 e no Server 2008R2. Alguma idéia?

    
por Lodra 24.08.2012 / 20:04

1 resposta

3

Se você estiver aberto ao PowerShell , terá acesso a todos os System.Messaging classes na estrutura .Net. Acredito que as versões modernas do Windows vêm com o PowerShell como parte do sistema operacional, pelo menos de acordo com Wikipedia :

PowerShell v2.0 was completed and released to manufacturing in August 2009, as an integral part of Windows 7 and Windows Server 2008 R2.

Essa pergunta do StackOverflow , por exemplo, sobre definindo permissões em uma fila, também tem um exemplo de criação de uma fila.

Write-Host "... create a new queue"
$q1 = [System.Messaging.MessageQueue]::Create(".\private$\MyQueue")

Write-Host "... create new queue, set FullControl permissions for RBC\BIZTALK"
$qb = [System.Messaging.MessageQueue]::Create(".\private$\BtsQueue")

$qb.SetPermissions("RBC\BIZTALK", 
      [System.Messaging.MessageQueueAccessRights]::FullControl,            
      [System.Messaging.AccessControlEntryType]::Set)

Não sei qual a base que você está usando para criar suas filas, mas se você estiver analisando um arquivo de texto com um nome de fila por linha ou algo semelhante, é muito fácil lê-lo e criar filas com base no arquivo de texto.

Outro link útil pode ser esta questão do SU , que é sobre a exclusão filas do VBScript. Não estou familiarizado o suficiente com o objeto MSMQApplication que está sendo referenciado, mas presumivelmente se as filas puderem ser excluídas, elas podem ser criadas.

    
por 24.08.2012 / 21:23

Tags