public class DefaultMQProducer extends ClientConfig implements MQProducer
| 限定符和类型 | 字段和说明 |
|---|---|
protected DefaultMQProducerImpl |
defaultMQProducerImpl |
| 构造器和说明 |
|---|
DefaultMQProducer() |
DefaultMQProducer(String producerGroup) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
createTopic(String key,
String newTopic,
int queueNum)
创建topic
|
long |
earliestMsgStoreTime(MessageQueue mq)
向服务器查询队列保存的最早消息对应的存储时间
|
List<MessageQueue> |
fetchPublishMessageQueues(String topic)
根据topic获取对应的MessageQueue,如果是顺序消息,则按照顺序消息配置返回
|
int |
getCompressMsgBodyOverHowmuch() |
String |
getCreateTopicKey() |
DefaultMQProducerImpl |
getDefaultMQProducerImpl() |
int |
getDefaultTopicQueueNums() |
int |
getMaxMessageSize() |
String |
getProducerGroup() |
int |
getSendMsgTimeout() |
boolean |
isRetryAnotherBrokerWhenNotStoreOK() |
long |
maxOffset(MessageQueue mq)
向服务器查询队列最大Offset PS: 最大Offset无对应消息,减1有消息
|
long |
minOffset(MessageQueue mq)
向服务器查询队列最小Offset PS: 最小Offset有对应消息
|
QueryResult |
queryMessage(String topic,
String key,
int maxNum,
long begin,
long end)
根据消息Key查询消息
|
long |
searchOffset(MessageQueue mq,
long timestamp)
根据时间查询对应的offset,精确到毫秒
P.S. |
SendResult |
send(Message msg)
发送消息,同步调用
|
SendResult |
send(Message msg,
MessageQueue mq)
向指定队列发送消息,同步调用
|
SendResult |
send(Message msg,
MessageQueueSelector selector,
Object arg)
发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明 同步调用 |
void |
send(Message msg,
MessageQueueSelector selector,
Object arg,
SendCallback sendCallback)
发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明 异步调用 |
void |
send(Message msg,
MessageQueue mq,
SendCallback sendCallback)
向指定队列发送消息,异步调用
|
void |
send(Message msg,
SendCallback sendCallback)
发送消息,异步调用
|
TransactionSendResult |
sendMessageInTransaction(Message msg,
LocalTransactionExecuter tranExecuter,
Object arg) |
void |
sendOneway(Message msg)
发送消息,Oneway形式,服务器不应答,无法保证消息是否成功到达服务器
|
void |
sendOneway(Message msg,
MessageQueue mq)
向指定队列发送消息,Oneway形式,服务器不应答,无法保证消息是否成功到达服务器
|
void |
sendOneway(Message msg,
MessageQueueSelector selector,
Object arg)
发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明 Oneway形式,服务器不应答,无法保证消息是否成功到达服务器 |
void |
setCompressMsgBodyOverHowmuch(int compressMsgBodyOverHowmuch) |
void |
setCreateTopicKey(String createTopicKey) |
void |
setDefaultTopicQueueNums(int defaultTopicQueueNums) |
void |
setMaxMessageSize(int maxMessageSize) |
void |
setProducerGroup(String producerGroup) |
void |
setRetryAnotherBrokerWhenNotStoreOK(boolean retryAnotherBrokerWhenNotStoreOK) |
void |
setSendMsgTimeout(int sendMsgTimeout) |
void |
shutdown()
关闭服务,一旦关闭,此对象将不可用
|
void |
start()
启动服务
|
MessageExt |
viewMessage(String msgId)
根据消息ID,从服务器获取完整的消息
|
buildMQClientId, cloneClientConfig, getClientCallbackExecutorThreads, getClientIP, getHeartbeatBrokerInterval, getInstanceName, getNamesrvAddr, getPersistConsumerOffsetInterval, getPollNameServerInteval, resetClientConfig, setClientCallbackExecutorThreads, setClientIP, setHeartbeatBrokerInterval, setInstanceName, setNamesrvAddr, setPersistConsumerOffsetInterval, setPollNameServerInteval, toStringprotected final transient DefaultMQProducerImpl defaultMQProducerImpl
public DefaultMQProducer()
public DefaultMQProducer(String producerGroup)
public void start()
throws MQClientException
MQProducerstart 在接口中 MQProducerMQClientExceptionpublic void shutdown()
MQProducershutdown 在接口中 MQProducerpublic List<MessageQueue> fetchPublishMessageQueues(String topic) throws MQClientException
MQProducerfetchPublishMessageQueues 在接口中 MQProducertopic - 消息TopicMQClientExceptionpublic SendResult send(Message msg) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, MQBrokerException, InterruptedException
MQProducersend 在接口中 MQProducermsg - 消息MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionMQBrokerExceptionInterruptedExceptionpublic void send(Message msg, SendCallback sendCallback) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, InterruptedException
MQProducersend 在接口中 MQProducermsg - 消息sendCallback - 发送结果通过此接口回调MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionInterruptedExceptionpublic void sendOneway(Message msg) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, InterruptedException
MQProducersendOneway 在接口中 MQProducermsg - 消息MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionInterruptedExceptionpublic SendResult send(Message msg, MessageQueue mq) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, MQBrokerException, InterruptedException
MQProducersend 在接口中 MQProducermsg - 消息mq - 队列MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionMQBrokerExceptionInterruptedExceptionpublic void send(Message msg, MessageQueue mq, SendCallback sendCallback) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, InterruptedException
MQProducersend 在接口中 MQProducermsg - 消息mq - 队列sendCallback - 发送结果通过此接口回调MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionInterruptedExceptionpublic void sendOneway(Message msg, MessageQueue mq) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, InterruptedException
MQProducersendOneway 在接口中 MQProducermsg - 消息mq - 队列MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionInterruptedExceptionpublic SendResult send(Message msg, MessageQueueSelector selector, Object arg) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, MQBrokerException, InterruptedException
MQProducersend 在接口中 MQProducermsg - 消息selector - 队列选择器,发送时会回调arg - 回调队列选择器时,此参数会传入队列选择方法MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionMQBrokerExceptionInterruptedExceptionpublic void send(Message msg, MessageQueueSelector selector, Object arg, SendCallback sendCallback) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, InterruptedException
MQProducersend 在接口中 MQProducermsg - 消息selector - 队列选择器,发送时会回调arg - 回调队列选择器时,此参数会传入队列选择方法sendCallback - 发送结果通过此接口回调MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionInterruptedExceptionpublic void sendOneway(Message msg, MessageQueueSelector selector, Object arg) throws MQClientException, com.alibaba.rocketmq.remoting.exception.RemotingException, InterruptedException
MQProducersendOneway 在接口中 MQProducermsg - 消息selector - 队列选择器,发送时会回调arg - 回调队列选择器时,此参数会传入队列选择方法MQClientExceptioncom.alibaba.rocketmq.remoting.exception.RemotingExceptionInterruptedExceptionpublic TransactionSendResult sendMessageInTransaction(Message msg, LocalTransactionExecuter tranExecuter, Object arg) throws MQClientException
sendMessageInTransaction 在接口中 MQProducerMQClientExceptionpublic void createTopic(String key, String newTopic, int queueNum) throws MQClientException
MQAdmincreateTopic 在接口中 MQAdminkey - 请向运维人员申请newTopic - 要创建的新topicqueueNum - 新topic队列数MQClientExceptionpublic long searchOffset(MessageQueue mq, long timestamp) throws MQClientException
MQAdminsearchOffset 在接口中 MQAdminmq - 队列timestamp - 毫秒形式时间戳MQClientExceptionpublic long maxOffset(MessageQueue mq) throws MQClientException
MQAdminmaxOffset 在接口中 MQAdminmq - 队列MQClientExceptionpublic long minOffset(MessageQueue mq) throws MQClientException
MQAdminminOffset 在接口中 MQAdminmq - 队列MQClientExceptionpublic long earliestMsgStoreTime(MessageQueue mq) throws MQClientException
MQAdminearliestMsgStoreTime 在接口中 MQAdminmq - 队列MQClientExceptionpublic MessageExt viewMessage(String msgId) throws com.alibaba.rocketmq.remoting.exception.RemotingException, MQBrokerException, InterruptedException, MQClientException
MQAdminviewMessage 在接口中 MQAdmincom.alibaba.rocketmq.remoting.exception.RemotingExceptionMQBrokerExceptionInterruptedExceptionMQClientExceptionpublic QueryResult queryMessage(String topic, String key, int maxNum, long begin, long end) throws MQClientException, InterruptedException
MQAdminqueryMessage 在接口中 MQAdmintopic - 消息主题key - 消息关键词maxNum - 查询最大条数begin - 起始时间戳end - 结束时间戳MQClientExceptionInterruptedExceptionpublic String getProducerGroup()
public void setProducerGroup(String producerGroup)
public String getCreateTopicKey()
public void setCreateTopicKey(String createTopicKey)
public int getSendMsgTimeout()
public void setSendMsgTimeout(int sendMsgTimeout)
public int getCompressMsgBodyOverHowmuch()
public void setCompressMsgBodyOverHowmuch(int compressMsgBodyOverHowmuch)
public DefaultMQProducerImpl getDefaultMQProducerImpl()
public boolean isRetryAnotherBrokerWhenNotStoreOK()
public void setRetryAnotherBrokerWhenNotStoreOK(boolean retryAnotherBrokerWhenNotStoreOK)
public int getMaxMessageSize()
public void setMaxMessageSize(int maxMessageSize)
public int getDefaultTopicQueueNums()
public void setDefaultTopicQueueNums(int defaultTopicQueueNums)
Copyright © 2012–2013. All rights reserved.