1.添加依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-acl</artifactId> <version>4.4.0</version> </dependency> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.4.0</version> </dependency>
用户端代码示例:
import com.hshbic.cloud.ams.message.rocketmq.common.RunTimeUtil; import org.apache.rocketmq.acl.common.AclClientRPCHook; import org.apache.rocketmq.acl.common.SessionCredentials; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.rebalance.AllocateMessageQueueAveragely; public class MQPushConsumer extends DefaultMQPushConsumer { public MQPushConsumer(String producerGroup, String mqNamesrvAddr) { super(producerGroup, true, ""); this.setNamesrvAddr(mqNamesrvAddr); this.setVipChannelEnabled(false); this.setInstanceName(RunTimeUtil.getRocketMqUniqeInstanceName()); } public MQPushConsumer(String producerGroup, String aclAccessKey, String aclSecretKey, String mqNamesrvAddr) { super(producerGroup, new AclClientRPCHook(new SessionCredentials(aclAccessKey, aclSecretKey)), new AllocateMessageQueueAveragely(), true, ""); this.setNamesrvAddr(mqNamesrvAddr); this.setVipChannelEnabled(false); this.setInstanceName(RunTimeUtil.getRocketMqUniqeInstanceName()); } }
服务端示例:
import org.apache.rocketmq.acl.common.AclClientRPCHook; import org.apache.rocketmq.acl.common.SessionCredentials; import org.apache.rocketmq.client.producer.DefaultMQProducer; public class MQPushProducer extends DefaultMQProducer { public HaigeekMQProducer(String producerGroup) { super(producerGroup, true, ""); this.setNamesrvAddr("mq1.sc.com:9876;mq2.sc.com:9876"); this.setVipChannelEnabled(false); this.setInstanceName(ip@pid); } public HaigeekMQProducer(String producerGroup, String aclAccessKey, String aclSecretKey) { super(producerGroup, new AclClientRPCHook(new SessionCredentials(aclAccessKey, aclSecretKey)), true, ""); this.setNamesrvAddr("mq1.sc.com:9876;mq2.sc.com:9876"); this.setVipChannelEnabled(false); this.setInstanceName(ip@pid); } }