* - 在并发模式中,-1表示16
* - 在有序模式中,-1表示整数最大值
*/
int maxReconsumeTimes() default -1;
/**
* 消息可能阻止使用线程的最长时间(分钟)
*/
long consumeTimeout() default 15L;
/**
* 发送回复消息超时
*/
int replyTimeout() default 3000;
/**
* 默认值 ${rocketmq.consumer.access-key:}
*/
String accessKey() default ACCESS_KEY_PLACEHOLDER;
/**
* 默认值 ${rocketmq.consumer.secret-key:}
*/
String secretKey() default SECRET_KEY_PLACEHOLDER;
/**
* 启用消息轨迹,默认值 false
*/
boolean enableMsgTrace() default false;
/**
* 自定义的消息轨迹主题,默认值${rocketmq.consumer.customized-trace-topic:}
* 没有配置此配置项则使用默认的主题
*/
String customizedTraceTopic() default TRACE_TOPIC_PLACEHOLDER;
/**
* 命名服务器地址,默认值${rocketmq.name-server:}
*/
String nameServer() default NAME_SERVER_PLACEHOLDER;
/**
* 默认值${rocketmq.access-channel:}
*/
String accessChannel() default ACCESS_CHANNEL_PLACEHOLDER;
}
```
### 测试
运行生产者中ConvertAndSendTest测试方式,观察消费者监听器日志


## RocketMQ发送同步消息
发送同步消息是指producer向 broker 发送消息,执行 API 时同步等待, 直到broker 服务器返回发送结
果;
相对异步发送消息,同步会阻塞线程,性能相对差点,但是可靠性高,这种方式得到广泛使用,比如:
短信通知,邮件通知,站内重要信息通知等。
RocketMQTemplate 给我们提供了syncSend方法(有多个重载),来实现发送同步消息;
下面给一个实例:
```java
/**
* 发送同步消息
*/
@Test
public void sendSyncMessageTest() {
for (int i = 0; i < 10; i++) {
SendResult sendResult = rocketMQTemplate.syncSend("springboot-mq", "rocketmq同步消息!" + i);
System.out.println(sendResult);
}
}
```
这里执行完发送同步消息返回执行结果 SendResult ;

### 同步消API介绍
```java
//发送普通同步消息-Object
syncSend(String destination, Object payload)
//发送普通同步消息-Message
syncSend(String destination, Message> message)
//发送批量普通同步消息
syncSend(String destination, Collection