Search code examples
msmqwindows-server

Alternative to MSMQ for windows server core


I have a program that writes to a local MSMQ, and a customer that wants to install that program on Windows Server Core 2012, which I have just discovered does not support MSMQ.

Are there any alternative queueing technologies that will work on Windows Server Core 2012?


Solution

  • I've just checked a Windows 2012 R2 Core server and MSMQ was fully available:

    Get-WindowsFeature -Name MSMQ*
    [ ] Message Queuing                                     MSMQ                           Available
    [ ] Services Message Queuing                        MSMQ-Services                  Available
        [ ] Serveur Message Queuing                     MSMQ-Server                    Available
        [ ] Déclencheurs Message Queuing                MSMQ-Triggers                  Available
        [ ] Intégration du service d’annuaire           MSMQ-Directory                 Available
        [ ] Prise en charge de la multidiffusion        MSMQ-Multicasting                Removed
        [ ] Prise en charge HTTP                        MSMQ-HTTP-Support              Available
        [ ] Service de routage                          MSMQ-Routing                   Available
    [ ] Proxy DCOM Message Queuing                      MSMQ-DCOM                      Available
    

    So I believe the data you've found of it not being available date back to Server 2008. (or it may be a difference between 2012 and 2012 R2 - unlikely, but in that case your solution is simple: upgrade!)

    If you still want alternatives... well, in any way you'll have to change your code, as there are no other brokers that implement the MSMQ APIs. So either use a remote MSMQ, or change your broker altogether. For example, I can vouch for RabbbitMQ working on 2008R2 et 2012R2 server core. But it is just an example, and you will have to do a lot of refactoring to change the API.