8.3. 为大型消息处理配置 STOMP 接受器
以下流程演示了如何配置 STOMP acceptor 来处理大于指定大小的 STOMP 消息作为大消息。
步骤
打开
<broker-instance-dir>/etc/broker.xml
配置文件。代理配置文件中的默认 AMQP 接受器如下:
<acceptors> ... <acceptor name="stomp">tcp://0.0.0.0:61613?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=STOMP;useEpoll=true</acceptor> ... </acceptors>
在默认的 STOMP acceptor(或您配置的另一个 STOMP acceptor)中,添加
stompMinLargeMessageSize
属性并指定一个值。例如:<acceptors> ... <acceptor name="stomp">tcp://0.0.0.0:61613?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=STOMP;useEpoll=true;stompMinLargeMessageSize=204800</acceptor> ... </acceptors>
在前面的示例中,代理被配置为接受端口 61613 上的 STOMP 消息。根据 stompMinLargeMessageSize
的值,如果接受者收到 STOMP 消息,其正文大于大于 204800 字节(即 200 KB),代理将消息保存为较大消息。如果您没有为此属性显式指定值,代理会使用默认值 102400(即 100 KB)。
注意
要将大型消息发送到 STOMP 用户,代理会在将消息发送到客户端之前自动将大型消息从大型消息转换为普通消息。如果对大型消息进行压缩,代理会将它解压缩,然后再将其发送到 STOMP 客户端。