TsgcWSPClient_STOMP_RabbitMQ › Properties › Versions
Selects which STOMP wire versions (1.0, 1.1, 1.2) are offered to RabbitMQ in the WebSocket subprotocol list and the CONNECT accept-version header.
property Versions: TsgcWSSTOMPVersion_Options read FVersions write SetVersions;
V1_0=True, V1_1=True, V1_2=True
Each flag controls a single STOMP protocol level: V1_0 for STOMP 1.0, V1_1 for STOMP 1.1 and V1_2 for STOMP 1.2. Every enabled version is advertised in two places: (1) the WebSocket Sec-WebSocket-Protocol handshake header sent to the RabbitMQ Web-STOMP plugin on port 15674, mapped to the tokens v10.stomp, v11.stomp and v12.stomp respectively, and (2) the STOMP accept-version header of the CONNECT frame as a comma-separated list (e.g. 1.0,1.1,1.2). All three flags are enabled by default, which lets RabbitMQ pick the highest mutually supported version. Restrict the set to force a specific version — for instance disable V1_0 and V1_1 to mandate STOMP 1.2 / subprotocol v12.stomp, which is required for the ack header semantics and the nack frame format used by newer RabbitMQ releases. At least one flag must remain True or the CONNECT frame will be rejected.
oRabbit := TsgcWSPClient_STOMP_RabbitMQ.Create(nil);
oRabbit.Versions.V1_0 := False;
oRabbit.Versions.V1_1 := False;
oRabbit.Versions.V1_2 := True;