rocketmq发送消息代码

        DefaultMQProducer defaultMQProducer = new DefaultMQProducer();
        defaultMQProducer.setProducerGroup(Constant.operationLogGroup);
        defaultMQProducer.setInstanceName(Constant.operationLogInstance);
        defaultMQProducer.setNamesrvAddr(Constant.rocketQueneAddr);
        try {
            defaultMQProducer.start();
            defaultMQProducer.send(message);
        } catch (Exception e) {
            logger.error("produce operation log message error", e);
        } finally {
            defaultMQProducer.shutdown();
        }
时间: 2024-10-12 19:02:59

rocketmq发送消息代码的相关文章

rocketmq发送消息的期间的broker选择

DefaultMQProducerImpl文件中有一个sendDefaultImpl,发送消息的时候就是从这里走的,路由信息怎么拿的 这里就不展开讲了.在这个方法里面,同步模式下,消息一次没有发送成功就会按照重试次数继续走selectOneMessageQueue逻辑进行重试. for (; times < timesTotal; times++) { String lastBrokerName = null == mq ? null : mq.getBrokerName(); MessageQ

SpringBoot Rabbitmq发送消息

官方文档:https://docs.spring.io/spring-boot/docs/2.1.3.RELEASE/reference/htmlsingle/#boot-features-amqp 引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </depende

php模拟飞鸽传输协议,代码实现向飞鸽发送消息

飞鸽传书协议:1:23149:riverlet:127.0.0.1:\x20:balabalabalabala版本号:包编号:发送者姓名:发送者主机名:命令字:附加信息(消息内容) <?php define("IPMSG_SENDMSG", 0x00000020); // 0x00000020 命令字代表不同的命令 #define("IPMSG_SECRETOPT", 0x00000200);// 0x00000200 另一个命令字 define("

rocketmq简单消息发送

有以下3种方式发送RocketMQ消息 可靠同步发送 reliable synchronous 可靠异步发送 reliable asynchronous 单向发送 one-way transmission 可靠同步发送 主要运用在比较重要一点消息传递/通知等业务 public class SyncProducer { public static void main(String[] args) throws Exception { DefaultMQProducer producer = new

rocketmq双主发送消息 SLAVE_NOT_AVAILABLE 状态

RocketMQ最佳实践之Producer 投递状态 发送消息时,将得到包含SendStatus的SendResult.首先,我们假设消息的isWaitStoreMsgOK = true(默认是true).如果不是,我们将总会得到SEND_OK,如果没有抛出异常.下面是关于每个状态的描述列表: FLUSH_DISK_TIMEOUT 如果 Broker 设置MessageStoreConfig的FlushDiskType=SYNC_FLUSH(默认是ASYNC_FLUSH),并且代理没有在Mess

RocketMQ源码 — 九、 RocketMQ延时消息

上一节消息重试里面提到了重试的消息可以被延时消费,其实除此之外,用户发送的消息也可以指定延时时间(更准确的说是延时等级),然后在指定延时时间之后投递消息,然后被consumer消费.阿里云的ons还支持定时消息,而且延时消息是直接指定延时时间,其实阿里云的延时消息也是定时消息的另一种表述方式,都是通过设置消息被投递的时间来实现的,但是Apache RocketMQ在版本4.2.0中尚不支持指定时间的延时,只能通过配置延时等级和延时等级对应的时间来实现延时. 一个延时消息被发出到消费成功经历以下几

RocketMQ源码分析之从官方示例窥探:RocketMQ事务消息实现基本思想

RocketMQ4.3.0版本开始支持事务消息,后续分享将开始将剖析事务消息的实现原理.首先从官方给出的Demo实例入手,以此通往RocketMQ事务消息的世界中. 官方版本未发布之前,从apache rocketmq第一个版本上线后,代码中存在与事务消息相关的代码,例如COMMIT.ROLLBACK.PREPARED,在事务消息未开源之前网上对于事务消息的"声音"基本上是使用类似二阶段提交,主要是根据消息系统标志MessageSysFlag中定义来推测的: TRANSACTION_P

RocketMQ源码分析之RocketMQ事务消息实现原理中篇----事务消息状态回查

上节已经梳理了RocketMQ发送事务消息的流程(基于二阶段提交),本节将继续深入学习事务状态消息回查,我们知道,第一次提交到消息服务器时消息的主题被替换为RMQ_SYS_TRANS_HALF_TOPIC,本地事务执行完后如果返回本地事务状态为UN_KNOW时,第二次提交到服务器时将不会做任何操作,也就是说此时消息还存在与RMQ_SYS_TRANS_HALF_TOPIC主题中,并不能被消息消费者消费,那这些消息最终如何被提交或回滚呢? 原来RocketMQ使用TransactionalMessa

RocketMQ源码分析之RocketMQ事务消息实现原下篇(事务提交或回滚)

本文将重点分析RocketMQ Broker如何处理事务消息提交.回滚命令,根据前面的介绍,其入口EndTransactionProcessor#proce***equest: OperationResult result = new OperationResult();if (MessageSysFlag.TRANSACTION_COMMIT_TYPE == requestHeader.getCommitOrRollback()) { // @1result = this.brokerCont