public class RocketMQOrderConsumer {
private static final Logger log = LoggerFactory.getLogger(RocketMQOrderConsumer.class);
private RocketMQOrderConsumer() {
public static void main(String[] args) throws ClientException, InterruptedException, IOException {
final ClientServiceProvider provider = ClientServiceProvider.loadService();
String endpoints = "rocketmq-xxx.rocketmq.ivolces.com:8080";
String accessKey = "xxxx";
String secretKey = "xxxx";
SessionCredentialsProvider sessionCredentialsProvider =
new StaticSessionCredentialsProvider(accessKey, secretKey);
ClientConfiguration clientConfiguration = ClientConfiguration.newBuilder()
.setEndpoints(endpoints)
.setCredentialProvider(sessionCredentialsProvider)
String tag = "yourMessageTagA";
FilterExpression filterExpression = new FilterExpression(tag, FilterExpressionType.TAG);
String consumerGroup = "yourConsumerGroup";
String topic = "yourTopic";
PushConsumer pushConsumer = provider.newPushConsumerBuilder()
.setClientConfiguration(clientConfiguration)
.setConsumerGroup(consumerGroup)
.setSubscriptionExpressions(Collections.singletonMap(topic, filterExpression))
.setMessageListener(messageView -> {
log.info("Consume message={}", messageView);
return ConsumeResult.SUCCESS;
Thread.sleep(Long.MAX_VALUE);