RabbitMQ

RemnodeRabbitMQ konfigurerar transporter med meddelandehanteraren RabbitMQ.
Exchange, SendQueue och ReceiveQueue konfigureras i remnode-objektet. Köerna som inte exister
skapas av servern. Om Exchange inte är angiven används default exchange.

Username och password anges för att få tillgång till RabbitMQ servern. Användaren måste vara
definerad i servern med lämplig åtkomst. Detta kan göras med rabbitmqctl på servern, t ex

> rabbitmqctl add_user myuser mypasswd
> rabbitmqctl set_permissions -p / myuser .* .* .*

I RemTrans-objektet används Address[0] och Address[1] för att addressera ett sänt meddelande
till en viss RemTrans på mottagarnoden. Address[3] anger meddelandets 'delivery mode' där 2
är persistent och andra värden ej persistent. Address[2] är en option bitmask där bit 1 är KeepAll
och bit 2 MsgOrder.

KeepAll betyder att meddelanden läggs tillbaka på kön om remtransen är upptagen. Normalt ignoreras de.
Om det finns flera remtransar på samma kö, kan ordningen kastas om när meddelanden läggs tillbaka. Om
MsgOrder biten är satt bibehålls ordningen. MsgOrder sätter prefetch count till 1.

Om ett meddelande ska återskapas efter ett server haveri, ska Durable vara satt i
RemoteRabbitMQ-objektet, och 'delivery mode' i RemTrans.Address[3] ska sättas till 2 (persistent).

Om meddelanden ska kunna överleva nätverksavbrott är en lämplig metod att skicka meddelanden till
en lokal rabbitmq-server och ta emot meddelanden från en server på sändande node. I det här fallet
behövs olika RemnodeRabbitMQ-objekt för sändning och mottagning, och rabbitmq severn måste startas
i båda noderna.