/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.rocketmq.client.impl;
import com.alibaba.fastjson.JSON;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.ClientConfig;
import org.apache.rocketmq.client.consumer.PullCallback;
import org.apache.rocketmq.client.consumer.PullResult;
import org.apache.rocketmq.client.consumer.PullStatus;
import org.apache.rocketmq.client.exception.MQBrokerException;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.hook.SendMessageContext;
import org.apache.rocketmq.client.impl.consumer.PullResultExt;
import org.apache.rocketmq.client.impl.factory.MQClientInstance;
import org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl;
import org.apache.rocketmq.client.impl.producer.TopicPublishInfo;
import org.apache.rocketmq.client.log.ClientLogger;
import org.apache.rocketmq.client.producer.SendCallback;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.client.producer.SendStatus;
import org.apache.rocketmq.common.AclConfig;
import org.apache.rocketmq.common.DataVersion;
import org.apache.rocketmq.common.MQVersion;
import org.apache.rocketmq.common.MixAll;
import org.apache.rocketmq.common.PlainAccessConfig;
import org.apache.rocketmq.common.TopicConfig;
import org.apache.rocketmq.common.UtilAll;
import org.apache.rocketmq.common.admin.ConsumeStats;
import org.apache.rocketmq.common.admin.TopicStatsTable;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.common.message.MessageBatch;
import org.apache.rocketmq.common.message.MessageClientIDSetter;
import org.apache.rocketmq.common.message.MessageConst;
import org.apache.rocketmq.common.message.MessageDecoder;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.common.message.MessageQueue;
import org.apache.rocketmq.common.namesrv.TopAddressing;
import org.apache.rocketmq.common.protocol.NamespaceUtil;
import org.apache.rocketmq.common.protocol.RequestCode;
import org.apache.rocketmq.common.protocol.ResponseCode;
import org.apache.rocketmq.common.protocol.body.BrokerStatsData;
import org.apache.rocketmq.common.protocol.body.CheckClientRequestBody;
import org.apache.rocketmq.common.protocol.body.ClusterAclVersionInfo;
import org.apache.rocketmq.common.protocol.body.ClusterInfo;
import org.apache.rocketmq.common.protocol.body.ConsumeMessageDirectlyResult;
import org.apache.rocketmq.common.protocol.body.ConsumeStatsList;
import org.apache.rocketmq.common.protocol.body.ConsumerConnection;
import org.apache.rocketmq.common.protocol.body.ConsumerRunningInfo;
import org.apache.rocketmq.common.protocol.body.GetConsumerStatusBody;
import org.apache.rocketmq.common.protocol.body.GroupList;
import org.apache.rocketmq.common.protocol.body.KVTable;
import org.apache.rocketmq.common.protocol.body.LockBatchRequestBody;
import org.apache.rocketmq.common.protocol.body.LockBatchResponseBody;
import org.apache.rocketmq.common.protocol.body.ProducerConnection;
import org.apache.rocketmq.common.protocol.body.ProducerTableInfo;
import org.apache.rocketmq.common.protocol.body.QueryConsumeQueueResponseBody;
import org.apache.rocketmq.common.protocol.body.QueryConsumeTimeSpanBody;
import org.apache.rocketmq.common.protocol.body.QueryCorrectionOffsetBody;
import org.apache.rocketmq.common.protocol.body.QueueTimeSpan;
import org.apache.rocketmq.common.protocol.body.ResetOffsetBody;
import org.apache.rocketmq.common.protocol.body.SubscriptionGroupWrapper;
import org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper;
import org.apache.rocketmq.common.protocol.body.TopicList;
import org.apache.rocketmq.common.protocol.body.UnlockBatchRequestBody;
import org.apache.rocketmq.common.protocol.header.CloneGroupOffsetRequestHeader;
import org.apache.rocketmq.common.protocol.header.ConsumeMessageDirectlyResultRequestHeader;
import org.apache.rocketmq.common.protocol.header.ConsumerSendMsgBackRequestHeader;
import org.apache.rocketmq.common.protocol.header.CreateAccessConfigRequestHeader;
import org.apache.rocketmq.common.protocol.header.CreateTopicRequestHeader;
import org.apache.rocketmq.common.protocol.header.DeleteAccessConfigRequestHeader;
import org.apache.rocketmq.common.protocol.header.DeleteSubscriptionGroupRequestHeader;
import org.apache.rocketmq.common.protocol.header.DeleteTopicRequestHeader;
import org.apache.rocketmq.common.protocol.header.EndTransactionRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetAllProducerInfoRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetBrokerAclConfigResponseHeader;
import org.apache.rocketmq.common.protocol.header.GetBrokerClusterAclConfigResponseBody;
import org.apache.rocketmq.common.protocol.header.GetConsumeStatsInBrokerHeader;
import org.apache.rocketmq.common.protocol.header.GetConsumeStatsRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetConsumerConnectionListRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetConsumerListByGroupRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetConsumerListByGroupResponseBody;
import org.apache.rocketmq.common.protocol.header.GetConsumerRunningInfoRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetConsumerStatusRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetEarliestMsgStoretimeRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetEarliestMsgStoretimeResponseHeader;
import org.apache.rocketmq.common.protocol.header.GetMaxOffsetRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetMaxOffsetResponseHeader;
import org.apache.rocketmq.common.protocol.header.GetMinOffsetRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetMinOffsetResponseHeader;
import org.apache.rocketmq.common.protocol.header.GetProducerConnectionListRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetTopicStatsInfoRequestHeader;
import org.apache.rocketmq.common.protocol.header.GetTopicsByClusterRequestHeader;
import org.apache.rocketmq.common.protocol.header.PullMessageRequestHeader;
import org.apache.rocketmq.common.protocol.header.PullMessageResponseHeader;
import org.apache.rocketmq.common.protocol.header.QueryConsumeQueueRequestHeader;
import org.apache.rocketmq.common.protocol.header.QueryConsumeTimeSpanRequestHeader;
import org.apache.rocketmq.common.protocol.header.QueryConsumerOffsetRequestHeader;
import org.apache.rocketmq.common.protocol.header.QueryConsumerOffsetResponseHeader;
import org.apache.rocketmq.common.protocol.header.QueryCorrectionOffsetHeader;
import org.apache.rocketmq.common.protocol.header.QueryMessageRequestHeader;
import org.apache.rocketmq.common.protocol.header.QueryTopicConsumeByWhoRequestHeader;
import org.apache.rocketmq.common.protocol.header.ResetOffsetRequestHeader;
import org.apach
没有合适的资源?快使用搜索试试~ 我知道了~
rocketmq支持任意时间的延时,基于时间轮和高效mmap文件实现
共1672个文件
java:1249个
ts:75个
md:74个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 104 浏览量
2023-05-08
08:48:40
上传
评论
收藏 27.25MB ZIP 举报
温馨提示
rocketmq支持任意时间的延时(可以精确到秒级) 基于时间轮和高效mmap文件实现;定时消息与延时消息在代码配置上存在一些差异,但是最终达到的效果相同:消息在发送到消息队列RocketMQ版服务端后并不会立马投递,而是根据消息中的属性延迟固定时间后才投递给消费者
资源推荐
资源详情
资源评论
收起资源包目录
rocketmq支持任意时间的延时,基于时间轮和高效mmap文件实现 (1672个子文件)
org.apache.rocketmq.broker.transaction.AbstractTransactionalMessageCheckListener 68B
org.apache.rocketmq.acl.AccessValidator 50B
org.apache.rocketmq.acl.AccessValidator 50B
BUILDING 997B
runbroker.cmd 2KB
runserver.cmd 2KB
tools.cmd 2KB
mqshutdown.cmd 1KB
play.cmd 1KB
mqnamesrv.cmd 1KB
mqbroker.cmd 1KB
mqadmin.cmd 1KB
CNAME 22B
CNAME 22B
broker-n0.conf 1KB
broker-n1.conf 1KB
broker-n2.conf 1KB
broker.conf 949B
958.29fc8131.chunk.css 250KB
umi.059f57db.css 116KB
941.7c5be73c.chunk.css 73KB
325.e4fdb1e7.chunk.css 36KB
p__dashboard__DashBoard.4a8c6919.chunk.css 17KB
t__plugin-layout__Layout.94d807d3.chunk.css 14KB
p__topic__Topic.34f15c47.chunk.css 5KB
p__message__Message.48ea7f40.chunk.css 3KB
p__404.b88066b1.chunk.css 966B
aliyun.css 134B
Dockerfile 207B
.editorconfig 245B
.eslintignore 56B
.gitignore 462B
.gitignore 165B
.gitignore 23B
index.html 514B
index.html 514B
index.html 514B
index.html 514B
index.html 514B
index.html 514B
favicon.ico 4KB
favicon.ico 4KB
MQClientAPIImpl.java 110KB
DefaultMessageStore.java 88KB
AdminBrokerProcessor.java 84KB
DefaultMQProducerImpl.java 74KB
CommitLog.java 74KB
DefaultMQAdminExtImpl.java 56KB
BrokerController.java 55KB
PlainAccessValidatorTest.java 54KB
DefaultMQPushConsumerImpl.java 52KB
MQClientInstance.java 51KB
DefaultLitePullConsumerImpl.java 49KB
DefaultMQProducer.java 47KB
DLedgerCommitLog.java 44KB
SelectorParser.java 39KB
SendMessageProcessor.java 39KB
LoggingBuilder.java 39KB
PlainPermissionManager.java 34KB
DefaultMQPullConsumerImpl.java 34KB
ScheduleMessageService.java 33KB
DefaultLitePullConsumerTest.java 33KB
RouteInfoManager.java 33KB
DefaultMQPushConsumer.java 33KB
SelectorParserTokenManager.java 32KB
PullMessageProcessor.java 31KB
NettyRemotingClient.java 30KB
AdminBrokerProcessorTest.java 29KB
DefaultRequestProcessor.java 29KB
DefaultMessageStoreTest.java 27KB
DefaultMQAdminExt.java 27KB
ConsumeMessageOrderlyService.java 26KB
BrokerConfig.java 26KB
MessageStoreConfig.java 26KB
NettyRemotingAbstract.java 25KB
MQAdminExtImpl.java 25KB
DefaultMessageStoreCleanFilesTest.java 25KB
ConsumeQueue.java 25KB
DefaultMQAdminExtTest.java 25KB
StoreStatsService.java 24KB
MQClientAPIImplTest.java 23KB
HAService.java 23KB
DefaultMQProducerTest.java 22KB
TransactionalMessageServiceImpl.java 22KB
MQAdminImpl.java 22KB
MappedFile.java 21KB
NettyRemotingServer.java 21KB
MappedFileQueue.java 21KB
MessageDecoder.java 21KB
RebalanceImpl.java 21KB
UtilAll.java 21KB
RemotingCommand.java 20KB
TransactionProducer.java 20KB
TopicConfigManager.java 20KB
DefaultRequestProcessorTest.java 20KB
RemoteAddressStrategyTest.java 20KB
DLedgerCommitlogTest.java 20KB
PlainAccessControlFlowTest.java 20KB
ConsumeMessageConcurrentlyService.java 19KB
ConsumeQueueExt.java 19KB
共 1672 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
资源评论
- 米咯-kiki2023-11-04资源简直太好了,完美解决了当下遇到的难题,这样的资源很难不支持~
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6649
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功