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

Reply via email to