in rocketmq-v5-client-spring-boot/src/main/java/org/apache/rocketmq/client/autoconfigure/RocketMQAutoConfiguration.java [103:123]
public SimpleConsumerBuilder simpleConsumerBuilder(RocketMQProperties rocketMQProperties) {
RocketMQProperties.SimpleConsumer simpleConsumer = rocketMQProperties.getSimpleConsumer();
final ClientServiceProvider provider = ClientServiceProvider.loadService();
String consumerGroup = simpleConsumer.getConsumerGroup();
FilterExpression filterExpression = RocketMQUtil.createFilterExpression(simpleConsumer.getTag(), simpleConsumer.getFilterExpressionType());
ClientConfiguration clientConfiguration = RocketMQUtil.createConsumerClientConfiguration(simpleConsumer);
SimpleConsumerBuilder simpleConsumerBuilder = provider.newSimpleConsumerBuilder()
.setClientConfiguration(clientConfiguration);
// set await duration for long-polling.
simpleConsumerBuilder.setAwaitDuration(Duration.ofSeconds(simpleConsumer.getAwaitDuration()));
// Set the consumer group name.
if (StringUtils.hasLength(consumerGroup)) {
simpleConsumerBuilder.setConsumerGroup(consumerGroup);
}
// Set the subscription for the consumer.
if (Objects.nonNull(filterExpression)) {
simpleConsumerBuilder.setSubscriptionExpressions(Collections.singletonMap(simpleConsumer.getTopic(), filterExpression));
}
return simpleConsumerBuilder;
}