接口和参数说明

SOFAStack 消息队列提供 Java SDK 实现消息发送与订阅,您可通过本文了解消息发送和订阅相关接口的参数说明。

通用参数

参数名

参数说明

ENDPOINT

设置 TCP 协议接入点,从消息队列控制台的 概览 > 接入配置 获取。

INSTANCE_ID

设置实例 ID,从消息队列控制台的 概览 > 接入配置 获取。

ACCESS_KEY

您在阿里云账号管理控制台中创建的 AccessKeyId,用于身份认证。

SECRET_KEY

您在阿里云账号管理控制台中创建的 AccessKeySecret,用于身份认证。

消息发送接口

发送消息

消息发送参数

参数名

参数说明

SEND_MSG_TIMEOUT_MILLIS

设置消息发送的超时时间,单位:毫秒。默认值为 3000。

shardingKey(顺序消息)

顺序消息中用来计算不同分区的值。

消息发送返回值

  • 同步消息 SendResult

    结构体参数名

    参数说明

    messageId

    消息 ID,可以在控制台根据消息 ID 查询到消息的具体轨迹信息,如果发送失败则不会返回消息 ID。

    topic

    消息主题。

  • 异步消息 SendResult

    结构体参数名

    参数说明

    onSuccess

    消息发送成功,则执行 onSuccess 中实现的方法。

    onException

    消息发送抛出异常,则执行 onException 中实现的方法。

消息订阅接口

订阅消息

消息订阅参数

参数名

参数说明

GROUP_ID

您在消息队列控制台上创建的 Group ID,详情参见 基础术语

MESSAGE_MODEL

设置 Consumer 的消费模式,取值说明如下:

  • CLUSTERING(默认值):表示集群消费。

  • BROADCASTING:表示广播消费。

CONSUME_THREAD_NUMS

设置 Consumer 的消费线程数,默认值为 20。

MAX_RECONSUME_TIMES

设置消息消费失败的最大重试次数,默认值为 16。

CONSUME_TIMEOUT

设置每条消息消费的最大超时时间,超过设置时间则被视为消费失败,等下次重新投递再次消费。每个业务需要设置一个合理的值,单位:分钟。 默认值为 15。

SUSPEND_TIME_MILLIS(顺序消息)

只适用于顺序消息,设置消息消费失败的重试间隔时间。

MAX_CACHED_MESSAGE_AMOUNT

客户端本地的最大缓存消息数据,单位:条。默认值为 1000。

MAX_CACHED_MESSAGE_SIZE_IN_MI_B

客户端本地的最大缓存消息大小,默认值:512 MB。取值范围为 16 MB ~ 2 GB。

更多信息

消息收发代码示例