MQ

RemnodeMQ är en transport för att skicka meddelanden med BEA Message Queue (BMQ). Det krävs att
BEA Message Queue är installerad på noden. BMQ är ett säkert sätt att skicka meddelanden till
andra noder även om noden momentant inte är uppe, och även för att säkerställa att meddelanden
levereras säkert till noden själv.

Det här avsnittet kräver grundläggande kunskap om BEA Message Queue. Kortfattat kan man säga att
kommunikationen går på en speciell bus, där varje nod har ett grupp-nummer och kan enbart
kommunicera med andra grupper på samma bus. På varje grupp kan flera köer konfigureras.

För att kunna starta transporten måste naturligvis Message Queue vara startad.
Man måste även sätta några omgivningsvariabler. Dessa är:

DMQ_BUS_ID
DMQ_GROUP_ID
DMQ_GROUPNAME

I RemnodeMQ-objektet konfigurerar man vilken BMQ-kö som tar emot meddelanden i attributet MyQueue.
Man konfigurerar även remote-nodens grupp-nummer och kö i attributen TargetGroup och TargetQueue.

Skicka meddelanden

I likhet med UDP och TCP-transporterna används RemTrans.Address[0,1] till att identifiera meddelanden.
Address[0] representerar meddelande klass och Address[1] meddelandetyp (enligt BMQ nomenklatur).
Address[2,3] används för att definiera vilken typ av leverans-mod (Address[2]) som ska användas och
vad som ska göras om meddelandet inte kan levereras (Address[3]).

Möjliga leverans-moder är:

PDEL_MODE_WF_SAF 25
PDEL_MODE_WF_DQF 26
PDEL_MODE_WF_NET 27
PDEL_MODE_WF_RCM 28
PDEL_MODE_WF_MEM 29
PDEL_MODE_AK_SAF 30
PDEL_MODE_AK_DQF 31
PDEL_MODE_AK_NET 32
PDEL_MODE_AK_RCM 33
PDEL_MODE_AK_MEM 34
PDEL_MODE_NN_SAF 35
PDEL_MODE_NN_DQF 36
PDEL_MODE_NN_NET 37
PDEL_MODE_NN_RCM 38
PDEL_MODE_NN_MEM 39
PDEL_MODE_WF_DEQ 40
PDEL_MODE_AK_DEQ 41
PDEL_MODE_WF_CONF 42
PDEL_MODE_AK_CONF 43
PDEL_MODE_WF_ACK 44
PDEL_MODE_AK_ACK 45

och möjliga alternativ om meddelandet inte kan levereras:

PDEL_UMA_RTS 1
PDEL_UMA_DLJ 2
PDEL_UMA_DLQ 3
PDEL_UMA_SAF 4
PDEL_UMA_DISC 5
PDEL_UMA_DISCL 6

Alla kombinationer är inte tillåtna (se BEA Message Queue dokumentationen för mer info).


Följande kombinationer rekommenderas,

för säker leverans av meddelanden
Address[2] = 26
Address[3] = 4

och för att kasta meddelanden som inte kan levereras
Address[2] = 39
Address[3] = 5

Om Address[2,3] båda har satts till 0 kommer en default uppsättning att användas, som kastar
meddelanden som inte kan levereras.

Ta emot meddelanden

Address[0,1] används för att idenfiera meddelandet. Address[0] representerar meddelande-klassen
och Address[1] meddelande-typen (enligt BMQ-nomenkatur).