GitHub user CuSO41108 closed a discussion: 我在使用 RocketMQ 5.0.8 Java 客户端时,在 IDEA 中遇到了 Cannot resolve symbol 'MessageModel' 的错误。我已经查过ai且尝试了清理 Maven 缓存和 IDEA 缓存,但问题仍然存在。请问这可能是什么原因?
package com.itheima; import java.io.IOException; import java.nio.ByteBuffer; import java.util.Collections; import org.apache.rocketmq.client.apis.ClientConfiguration; import org.apache.rocketmq.client.apis.ClientException; import org.apache.rocketmq.client.apis.ClientServiceProvider; import org.apache.rocketmq.client.apis.consumer.ConsumeResult; import org.apache.rocketmq.client.apis.consumer.FilterExpression; import org.apache.rocketmq.client.apis.consumer.FilterExpressionType; import org.apache.rocketmq.client.apis.consumer.PushConsumer; import org.apache.rocketmq.client.apis.consumer.MessageModel;//Cannot resolve symbol 'MessageModel import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class PushConsumerExample { private static final Logger logger = LoggerFactory.getLogger(PushConsumerExample.class); private PushConsumerExample() { } public static void main(String[] args) throws ClientException, IOException, InterruptedException { final ClientServiceProvider provider = ClientServiceProvider.loadService(); String endpoints = "192.168.40.128:8081"; ClientConfiguration clientConfiguration = ClientConfiguration.newBuilder() .setEndpoints(endpoints) .build(); String tag = "*"; FilterExpression filterExpression = new FilterExpression(tag, FilterExpressionType.TAG); String consumerGroup = "MyTestBroadcastConsumerGroup"; String topic = "TestTopic"; PushConsumer pushConsumer = provider.newPushConsumerBuilder() .setClientConfiguration(clientConfiguration) .setConsumerGroup(consumerGroup) .setMessageModel(MessageModel.BROADCASTING)//Cannot resolve method 'setMessageModel' in 'PushConsumerBuilder' .setSubscriptionExpressions(Collections.singletonMap(topic, filterExpression)) .setMessageListener(messageView -> { ByteBuffer bodyBuffer = messageView.getBody(); byte[] bodyBytes = new byte[bodyBuffer.remaining()]; bodyBuffer.get(bodyBytes); String messageBody = new String(bodyBytes); logger.info("Consume message successfully, messageId={}, body={}", messageView.getMessageId(), messageBody); return ConsumeResult.SUCCESS; }) .build(); logger.info("Consumer started, waiting for messages..."); Thread.sleep(Long.MAX_VALUE); } } 这是我的pom.xml: <dependencies> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client-java</artifactId> <version>5.0.8</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.32</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.11</version> <!-- Use a recent stable version --> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.11</version> <!-- Use a recent stable version --> </dependency> </dependencies> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> GitHub link: https://github.com/apache/rocketmq/discussions/9613 ---- This is an automatically sent email for dev@rocketmq.apache.org. To unsubscribe, please send an email to: dev-unsubscr...@rocketmq.apache.org