0
I Version hinzufügen möchten: 1.1 in STOMP-Message-Header wie folgt aus:benutzerdefinierte Feld in Header in STOMP Nachricht hinzufügen
destination:/cora/1234/panelapp/code/response content-type:application/json;charset=UTF-8 subscription:sub-0 message-id:bdyqehdj-5 content-length:492 **Version: 1.2**
@Override
public Message<?> preSend(Message<?> message, MessageChannel channel) {
StompHeaderAccessor sha = StompHeaderAccessor.wrap(message);
StompCommand command = sha.getCommand();
sha.setHeader(sha.STOMP_MESSAGE_HEADER, "1.2");
sha.setVersion("1.2");
sha.addNativeHeader(sha.STOMP_MESSAGE_HEADER, "1.2");
return message;
}
Aber in postSend Methode kann ich die Versionsinformationen in den Headern finden. Wie kann ich die Versionsinformationen in PostSend-Methode, die von PreSend-Methode in ChannelInterceptorAdapter festgelegt ist.
aktualisieren:
@Override public Message<?> preSend(Message<?> message, MessageChannel channel) {
return MessageBuilder.fromMessage(message).setHeader("Version","1.2").build();
}
ich mit dem erwähnten Art und Weise versucht habe, aber ich habe die folgende Ausnahme: Verursacht von: java.lang.UnsupportedOperationException: MessageHeaders ist unveränderlich – Amit
@Amit können Sie versuchen, wie oben – Barath
Ich habe gefunden weiter unten von getMessageHeader() in der PostSend-Methode: getMessageHeaders: {simpMessageType = MESSAGE, nativeHeaders = {Ziel = [/ cora/1234/panelapp/code/response], content-type = [Anwendung/json; Zeichensatz = UTF-8] }, simpSubscriptionId = sub-0, conversionHint = Methode 'checkPin' Parameter -1, contentType = Anwendung/json; charset = UTF-8, simpSessionId = hlb2dg5z, simpDestination =/cora/1234/panelapp/code/response}. Aber nicht gefunden Schlüssel in der Header-Info – Amit