So stellen Sie eine synchrone JMS-Anfrage

Ich habe eine Web-App, die Daten von einer externen App abrufen und anzeigen soll, auf die nur über Messaging (JMS) zugegriffen werden kann.

Wenn ein Benutzer eine Anforderung in einem Browser sendet, muss derselbe HTTP-Anforderungsthread mit dem Messaging-System (MQ Series) interagieren, sodass derselbe Anforderungsthread die vom Messaging-System empfangenen Daten anzeigen kann.

Gibt es ein Muster, das ich hier verwenden kann? Ich habe einige vage Referenzen im Netz gesehen, die "Correlation ID" auf diese Weise verwenden:

Msg m = new TextMsg("findDataXYZ");
String cr_id = m.setCorrelationID(id);

sendQueue.send(m).

// now start listening to the Queue for a msg that bears that specific cr_id

Response r = receiverQueue.receive(cr_id);

Gibt es da draußen etwas Besseres? Die anderen Muster, die ich gefunden habe, erwarten, dass die Antwort asynchron empfangen wird. Dies ist für mich keine Option, da ich die Antwort auf dieselbe HTTP-Anforderung zurücksenden muss.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage