SpringBoot整合RocketMQ
SpringBoot整合rocketMQ
RocketMQ
Rocketmq阿里巴巴开源的一款非常优秀的MQ中间件,现在已经捐赠给Apache成为顶级项目,并且已经成功孵化,而且它是为数不多的支持分布事务消息的中间件。
中文文档
GitHub 45
apache/rocketmq 45
Mirror of Apache RocketMQ. Contribute to apache/rocketmq development by creating an account on GitHub.
官网
Apache RocketMQ 12
Apache RocketMQ 12
Apache RocketMQ™ is a unified messaging engine, lightweight data processing platform. Latest release v4.7.0
Starter
<!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot-starter -->
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.0.4</version>
</dependency>
发送消息
修改application.properties
rocketmq.name-server=127.0.0.1:9876
rocketmq.producer.group=my-group
消息发送
@SpringBootApplication
public class ProducerApplication implements CommandLineRunner{@Resourceprivate RocketMQTemplate rocketMQTemplate;public static void main(String[] args){SpringApplication.run(ProducerApplication.class, args);}public void run(String... args) throws Exception {//send message synchronouslyrocketMQTemplate.convertAndSend("test-topic-1", "Hello, World!");//send spring messagerocketMQTemplate.send("test-topic-1", MessageBuilder.withPayload("Hello, World! I'm from spring message").build());//send messgae asynchronouslyrocketMQTemplate.asyncSend("test-topic-2", new OrderPaidEvent("T_001", new BigDecimal("88.00")), new SendCallback() {@Overridepublic void onSuccess(SendResult var1) {System.out.printf("async onSucess SendResult=%s %n", var1);}@Overridepublic void onException(Throwable var1) {System.out.printf("async onException Throwable=%s %n", var1);}});//Send messages orderlyrocketMQTemplate.syncSendOrderly("orderly_topic",MessageBuilder.withPayload("Hello, World").build(),"hashkey")//rocketMQTemplate.destroy(); // notes: once rocketMQTemplate be destroyed, you can not send any message again with this rocketMQTemplate}@Data@AllArgsConstructorpublic class OrderPaidEvent implements Serializable{private String orderId;private BigDecimal paidMoney;}
}
接收消息
修改application.properties、
rocketmq.name-server=127.0.0.1:9876
接收消息
@SpringBootApplication
public class ConsumerApplication{public static void main(String[] args){SpringApplication.run(ConsumerApplication.class, args);}@Slf4j@Service@RocketMQMessageListener(topic = "test-topic-1", consumerGroup = "my-consumer_test-topic-1")public class MyConsumer1 implements RocketMQListener<String>{public void onMessage(String message) {log.info("received message: {}", message);}}@Slf4j@Service@RocketMQMessageListener(topic = "test-topic-2", consumerGroup = "my-consumer_test-topic-2")public class MyConsumer2 implements RocketMQListener<OrderPaidEvent>{public void onMessage(OrderPaidEvent orderPaidEvent) {log.info("received orderPaidEvent: {}", orderPaidEvent);}}
}
事务消息
修改application.properties、
rocketmq.name-server=127.0.0.1:9876
rocketmq.producer.group=my-group
发送/接收事务消息
@SpringBootApplication
public class ProducerApplication implements CommandLineRunner{@Resourceprivate RocketMQTemplate rocketMQTemplate;public static void main(String[] args){SpringApplication.run(ProducerApplication.class, args);}public void run(String... args) throws Exception {try {// Build a SpringMessage for sending in transactionMessage msg = MessageBuilder.withPayload(..)...;// In sendMessageInTransaction(), the first parameter transaction name ("test")// must be same with the @RocketMQTransactionListener's member field 'transName'rocketMQTemplate.sendMessageInTransaction("test", "test-topic", msg, null);} catch (MQClientException e) {e.printStackTrace(System.out);}}// Define transaction listener with the annotation @RocketMQTransactionListener@RocketMQTransactionListenerclass TransactionListenerImpl implements RocketMQLocalTransactionListener {@Overridepublic RocketMQLocalTransactionState executeLocalTransaction(Message msg, Object arg) {// ... local transaction process, return bollback, commit or unknownreturn RocketMQLocalTransactionState.UNKNOWN;}@Overridepublic RocketMQLocalTransactionState checkLocalTransaction(Message msg) {// ... check transaction status and return bollback, commit or unknownreturn RocketMQLocalTransactionState.COMMIT;}}
}
消息轨迹
Producer 端要想使用消息轨迹,需要多配置两个配置项:
rocketmq.name-server=127.0.0.1:9876
rocketmq.producer.group=my-grouprocketmq.producer.enable-msg-trace=true
rocketmq.producer.customized-trace-topic=my-trace-topic
Consumer 端消息轨迹的功能需要在 @RocketMQMessageListener
中进行配置对应的属性:
@Service
@RocketMQMessageListener(topic = "test-topic-1", consumerGroup = "my-consumer_test-topic-1",enableMsgTrace = true,customizedTraceTopic = "my-trace-topic"
)
public class MyConsumer implements RocketMQListener<String> {...
}
注意:
默认情况下 Producer 和 Consumer 的消息轨迹功能是开启的且 trace-topic 为 RMQ_SYS_TRACE_TOPIC Consumer 端的消息轨迹 trace-topic 可以在配置文件中配置rocketmq.consumer.customized-trace-topic
配置项,不需要为在每个@RocketMQMessageListener
配置。
ACL功能
Producer 端要想使用 ACL 功能,需要多配置两个配置项:
rocketmq.name-server=127.0.0.1:9876
rocketmq.producer.group=my-grouprocketmq.producer.access-key=AK
rocketmq.producer.secret-key=SK
Consumer 端 ACL 功能需要在 @RocketMQMessageListener
中进行配置
@Service
@RocketMQMessageListener(topic = "test-topic-1", consumerGroup = "my-consumer_test-topic-1",accessKey = "AK",secretKey = "SK"
)
public class MyConsumer implements RocketMQListener<String> {...
}
注意:
可以不用为每个@RocketMQMessageListener
注解配置 AK/SK,在配置文件中配置rocketmq.consumer.access-key
和rocketmq.consumer.secret-key
配置项,这两个配置项的值就是默认值
常见问题
1.生产环境有多个 nameserver
该如何连接?
rocketmq.name-server
支持配置多个 nameserver
地址,采用 ;
分隔即可。例如: 172.19.0.1:9876;172.19.0.2:9876
2.rocketMQTemplate` 在什么时候被销毁?
开发者在项目中使用 rocketMQTemplate
发送消息时,不需要手动执行 rocketMQTemplate.destroy()
方法, rocketMQTemplate
会在spring容器销毁时自动销毁。
3.启动报错: Caused by: org.apache.rocketmq.client.exception.MQClientException: The consumer group[xxx] has been created before, specify another name please
RocketMQ在设计时就不希望一个消费者同时处理多个类型的消息,因此同一个 consumerGroup
下的consumer职责应该是一样的,不要干不同的事情(即消费多个topic)。建议 consumerGroup
与 topic
一一对应。
4. 发送的消息内容体是如何被序列化与反序列化的?
RocketMQ的消息体都是以 byte[]
方式存储。当业务系统的消息内容体如果是 java.lang.String
类型时,统一按照 utf-8
编码转成 byte[]
;如果业务系统的消息内容为非 java.lang.String
类型,则采用jackson-databind 3序列化成 JSON
格式的字符串之后,再统一按照 utf-8
编码转成 byte[]
。
5. 如何指定topic的 tags
?
RocketMQ的最佳实践中推荐:一个应用尽可能用一个Topic,消息子类型用 tags
来标识, tags
可以由应用自由设置。 在使用 rocketMQTemplate
发送消息时,通过设置发送方法的 destination
参数来设置消息的目的地, destination
的格式为 topicName:tagName
, :
前面表示topic的名称,后面表示 tags
名称。
注意:
tags
从命名来看像是一个复数,但发送消息时,目的地只能指定一个topic下的一个tag
,不能指定多个。
6. 发送消息时如何设置消息的 key
?
可以通过重载的 xxxSend(String destination, Message<?> msg, ...)
方法来发送消息,指定 msg
的 headers
来完成。示例:
Message<?> message = MessageBuilder.withPayload(payload).setHeader(MessageConst.PROPERTY_KEYS, msgId).build();
rocketMQTemplate.send("topic-test", message);
同理还可以根据上面的方式来设置消息的 FLAG
、 WAIT_STORE_MSG_OK
以及一些用户自定义的其它头信息。
注意: 在将Spring的Message转化为RocketMQ的Message时,为防止
header
信息与RocketMQ的系统属性冲突,在所有header
的名称前面都统一添加了前缀USERS_
。因此在消费时如果想获取自定义的消息头信息,请遍历头信息中以USERS_
开头的key即可。
7.消费消息时,除了获取消息payload外,还想获取RocketMQ消息的其它系统属性,需要怎么做?
消费者在实现 RocketMQListener
接口时,只需要起泛型为 MessageExt
即可,这样在 onMessage
方法将接收到RocketMQ原生的 MessageExt
消息。
@Slf4j
@Service
@RocketMQMessageListener(topic = "test-topic-1", consumerGroup = "my-consumer_test-topic-1")
public class MyConsumer2 implements RocketMQListener<MessageExt>{public void onMessage(MessageExt messageExt) {log.info("received messageExt: {}", messageExt);}
}
8.如何指定消费者从哪开始消费消息,或开始消费的位置?
消费者默认开始消费的位置请参考:RocketMQ FAQ 3。 若想自定义消费者开始的消费位置,只需在消费者类添加一个 RocketMQPushConsumerLifecycleListener
接口的实现即可。 示例如下:
@Slf4j
@Service
@RocketMQMessageListener(topic = "test-topic-1", consumerGroup = "my-consumer_test-topic-1")
public class MyConsumer1 implements RocketMQListener<String>, RocketMQPushConsumerLifecycleListener {@Overridepublic void onMessage(String message) {log.info("received message: {}", message);}@Overridepublic void prepareStart(final DefaultMQPushConsumer consumer) {// set consumer consume message from nowconsumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_TIMESTAMP);consumer.setConsumeTimestamp(UtilAll.timeMillisToHumanString3(System.currentTimeMillis()));}
}
同理,任何关于 DefaultMQPushConsumer
的更多其它其它配置,都可以采用上述方式来完成。
9.如何发送事务消息?
在客户端,首先用户需要实现RocketMQLocalTransactionListener接口,并在接口类上注解声明@RocketMQTransactionListener,实现确认和回查方法;然后再使用资源模板RocketMQTemplate, 调用方法sendMessageInTransaction()来进行消息的发布。 注意:从RocketMQ-Spring 2.1.0版本之后,注解@RocketMQTransactionListener不能设置txProducerGroup、ak、sk,这些值均与对应的RocketMQTemplate保持一致 。
10.如何声明不同name-server或者其他特定的属性来定义非标的RocketMQTemplate
第一步: 定义非标的RocketMQTemplate使用你需要的属性,可以定义与标准的RocketMQTemplate不同的nameserver、groupname等。如果不定义,它们取全局的配置属性值或默认值。
// 这个RocketMQTemplate的Spring Bean名是'extRocketMQTemplate', 与所定义的类名相同(但首字母小写)
@ExtRocketMQTemplateConfiguration(nameServer="127.0.0.1:9876", ... // 定义其他属性,如果有必要。
)
public class ExtRocketMQTemplate extends RocketMQTemplate {//类里面不需要做任何修改
}
第二步: 使用这个非标RocketMQTemplate
@Resource(name = "extRocketMQTemplate") // 这里必须定义name属性来指向上述具体的Spring Bean.
private RocketMQTemplate extRocketMQTemplate;
接下来就可以正常使用这个extRocketMQTemplate了。
11.如何使用非标的RocketMQTemplate发送事务消息?
首先用户需要实现RocketMQLocalTransactionListener接口,并在接口类上注解声明@RocketMQTransactionListener,注解字段的rocketMQTemplateBeanName指明为非标的RocketMQTemplate的Bean name(若不设置则默认为标准的RocketMQTemplate),比如非标的RocketMQTemplate Bean name为“extRocketMQTemplate",则代码如下:
@RocketMQTransactionListener(rocketMQTemplateBeanName = "extRocketMQTemplate")class TransactionListenerImpl implements RocketMQLocalTransactionListener {@Overridepublic RocketMQLocalTransactionState executeLocalTransaction(Message msg, Object arg) {// ... local transaction process, return bollback, commit or unknownreturn RocketMQLocalTransactionState.UNKNOWN;}@Overridepublic RocketMQLocalTransactionState checkLocalTransaction(Message msg) {// ... check transaction status and return bollback, commit or unknownreturn RocketMQLocalTransactionState.COMMIT;}}
然后使用extRocketMQTemplate调用sendMessageInTransaction()来发送事务消息。
12.MessageListener消费端,是否可以指定不同的name-server而不是使用全局定义的’rocketmq.name-server’属性值 ?
@Service
@RocketMQMessageListener(nameServer = "NEW-NAMESERVER-LIST", // 可以使用这个optional属性来指定不同的name-servertopic = "test-topic-1", consumerGroup = "my-consumer_test-topic-1",enableMsgTrace = true,customizedTraceTopic = "my-trace-topic"
)
public class MyNameServerConsumer implements RocketMQListener<String> {...
}
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Java-Stream重用流
** 1. 一个 Stream 只可以使用一次** 多次使用就会报错:stream has already been operated upon or closed,流已经被操作或关闭 ** 2. 解决方法一** 利用Supplier接口重用流 package day12.prepareLesson.c_Stream;import java.sql.SQLOutput; import java.util.function.Sup…...
2024/4/12 8:01:23 - 如何获取微信公众号的关注链接?
一、进入订阅号二、点击右上角按钮三、点击查看历史记录,则进入该公众号的关注页面四、复制该公众号链接,通过该链接就能直接进入关注公众号页面...
2024/5/4 11:58:20 - 计算机网络--Windows网络测试工具
实验目的 理解上述知识点所涉及的基本概念并学会使用这些工具测试网络的状态及从网上获取信息。 实验环境 安装了TCP/IP协议的Windows系统,包含实用的网络工具。 实验内容 完成下列要求,并记录实验步骤和结果 1、 检测本机的MAC地址 2、 检测本机网关的MAC地址 3、 检测本地域…...
2024/4/30 23:43:07 - python读取、写入txt文本内容
参考: 【1】python读取、写入txt文本内容 【2】【python】读取和输出到txt...
2024/4/20 5:18:51 - 前端开发周报——016
1 使用python服务替换nginx服务,使得python既作为静态资源服务又作为动态api服务,这和传统的前后端不分离不一样。2 nginx主要是用作反向代理、负载均衡、静态资源服务的。3 面对复杂的异步流程,相比async,Promise 提供的 all 和 race 会更加好用。4 Symbol 作用是生成…...
2024/5/1 21:23:42 - leetcode406. 根据身高重建队列
import java.lang.reflect.Array; import java.util.Arrays; import java.util.LinkedList;/*** 解题思路:先排序再插入* 1.排序规则:按照先H高度降序,K个数升序排序* 2.遍历排序后的数组,根据K插入到K的位置上** 核心思想:高个子先站好位,矮个子插入到K位置上,前面肯定…...
2024/4/22 5:59:53 - 同步复制
在官方文档中,关于同步复制的介绍如下,https://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/geodatabases/understanding-distributed-data.htm该部分内容视频相关介绍可参考以下链接。https://www.bilibili.com/video/BV17s411578j?from=search&seid=12186489…...
2024/4/9 19:47:42 - 应用程序配置文件
可以将应用程序的配置信息放置在 schema 文件中,并使用 gsettings 命令查询/设置配置信息。获取配置信息相关命令:# gsettings list-schemas 显示系统已安装的不可重定位的schema # gsettings list-relocatable-schemas 显示已安装的可重定位的schema # gsetting…...
2024/4/20 2:22:43 - StringBuilder类
...
2024/5/2 0:24:43 - CSS-关于伪类
伪类要写content:"",否则无效...
2024/4/24 7:28:24 - 并发中锁的原理
一篇对对象锁的原理,存储位置的笔记无锁:启动VM参数不配置,4s 程序开始执行,无锁 01 偏向锁: JVM启动,默认延迟4s启动偏向锁。 轻量级锁:synchronized (userEntity) 一个线程调用, 轻量级锁 00 重量级锁:synchronized (userEntity) 多个线程争抢, 重量级锁 10演…...
2024/4/28 23:56:59 - 树莓派搭网站 (一)LNMP四件套的安装
目录0.引言1. 安装nginx2. 安装PHP及部分插件3. 安装MaraiaDB(MySQL)4. 配置Nginx5. 重启服务并测试6.安装phpMyAdmin7.添加mariaDB数据库用户8.小结 0.引言 本人在购买树莓派4B之后想用树莓派自己搭一个博客网站,但是在根据教程来搭建网站的过程中遇到了不少坑,经常性的搞…...
2024/4/28 3:01:42 - 论冗余数据的危害性
因为历史遗留问题,公司业务早期估计到数据量在不久的会非常大,于是乎在测试环境搞了几千万数据进行性能测试;但是没有删除,谁料到竟然会对生产造成了影响!多台mysql服务器负载都无法抵挡!慢查询,因为我们的系统主要是做第三方小程序开发的,商户的库存表全部都在invento…...
2024/5/4 6:16:01 - 【Linux】循序渐进学运维-服务篇-ssh配置文件详解
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第4篇文章 文章目录前言配置文件的路径配置文件详解1. 修改默认端口2. ListenAddress 0.0.0.03. LoginGraceTime 2m4. PermitRootLogin yes 允许root登录5. PubkeyAuthentication yes 密码验证6. PermitEmptyP…...
2024/4/28 10:51:18 - 1.14。注册一个LoadTimeWeaver 【spring 核心技术 翻译】
1.14。注册一个LoadTimeWeaver 当类装入Java虚拟机(JVM)时,Spring使用LoadTimeWeaver动态地转换类。 要启用加载时编织,可以将@EnableLoadTimeWeaving织造添加到一个@Configuration类中,如下面的示例所示: @Configuration @EnableLoadTimeWeaving public class AppConfig { …...
2024/4/28 2:57:22 - 通过ssh,windows 与linux互传文件操作
遇到的问题1、本机windows 通过ssh 登陆centos 系统,需要copy文件 和 下载文件解决办法:1、rz 上传2、sz 下载...
2024/4/28 5:14:55 - 实现简单的线程池
重点:多线程、锁 简单的线程池,并未使用I/O复用,有时间可以写一个epoll的 如有错误,欢迎指正 主要的函数如下 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<assert.h>#include<sys/types.h>…...
2024/4/27 23:16:24 - 英语口语317之每日二十个英语单词
2020/07/14每日二十个英语单词loose coupling 松散耦合lvalue 左值machine code 机器码、机器代码macro 宏maintain 维护managed code 受控代码、托管代码Managed Extensions 受控扩充件、托管扩展managed object 受控对象、托管对象mangled namemanifest 清单manipulator 操纵…...
2024/4/29 1:43:23 - 文件下载文件中文名问题
前言 问题展示 解决前言 在这里我们演示了文件下载文件下载问题展示 但是文件名有中文时会出现问题文件,我们给 图片取了个中文名,美女Servlet层代码package com.lingaolu.download;import javax.servlet.*; import javax.servlet.annotation.WebServlet; import javax.servle…...
2024/4/28 18:44:14 - WKWebView空白页面解决办法
WKWebView出现网页空白解决方法设置App Sandbox在info.list写入如下代码 NSAppTransportSecurityNSAllowsArbitraryLoads加入WebKit.framework...
2024/4/28 23:57:04
最新文章
- ArkTS开发原生鸿蒙HarmonyOS短视频应用
HarmonyOS实战课程“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”已经于今日上线至慕课网(https://coding.imooc.com/class/843.html),有致力于鸿蒙生态开发的同学们可以关注一下。 课程简介 本课程以原生鸿蒙Ha…...
2024/5/5 1:53:44 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - ROS2高效学习第十章 -- ros2 高级组件之大型项目中的 launch 其二
ros2 高级组件之大型项目中的 launch 1 前言和资料2 正文2.1 启动 turtlesim,生成一个 turtle ,设置背景色2.2 使用 event handler 重写上节的样例2.3 turtle_tf_mimic_rviz_launch 样例 3 总结 1 前言和资料 早在ROS2高效学习第四章 – ros2 topic 编程…...
2024/5/4 16:36:42 - ChatGPT 赚钱初学者指南(上)
原文:The Beginner’s Guide to Earning Money Online with ChatGPT 译者:飞龙 协议:CC BY-NC-SA 4.0 第一章:理解基础知识 什么是 ChatGPT? 在人工智能与人类对话相遇的数字织锦中,ChatGPT 作为一个突出…...
2024/5/3 4:17:57 - 416. 分割等和子集问题(动态规划)
题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义:dp[i][j]表示当背包容量为j,用前i个物品是否正好可以将背包填满ÿ…...
2024/5/4 12:05:22 - 【Java】ExcelWriter自适应宽度工具类(支持中文)
工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...
2024/5/4 11:23:32 - Spring cloud负载均衡@LoadBalanced LoadBalancerClient
LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon,直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件,我们讨论Spring负载均衡以Spring Cloud2020之后版本为主,学习Spring Cloud LoadBalance,暂不讨论Ribbon…...
2024/5/4 14:46:16 - TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案
一、背景需求分析 在工业产业园、化工园或生产制造园区中,周界防范意义重大,对园区的安全起到重要的作用。常规的安防方式是采用人员巡查,人力投入成本大而且效率低。周界一旦被破坏或入侵,会影响园区人员和资产安全,…...
2024/5/4 23:54:44 - VB.net WebBrowser网页元素抓取分析方法
在用WebBrowser编程实现网页操作自动化时,常要分析网页Html,例如网页在加载数据时,常会显示“系统处理中,请稍候..”,我们需要在数据加载完成后才能继续下一步操作,如何抓取这个信息的网页html元素变化&…...
2024/5/4 12:10:13 - 【Objective-C】Objective-C汇总
方法定义 参考:https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...
2024/5/4 23:54:49 - 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】🌏题目描述🌏输入格…...
2024/5/4 23:54:44 - 【ES6.0】- 扩展运算符(...)
【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数࿰…...
2024/5/4 14:46:12 - 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?
文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕,各大品牌纷纷晒出优异的成绩单,摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称,在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁,多个平台数据都表现出极度异常…...
2024/5/4 14:46:11 - Go语言常用命令详解(二)
文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令,这些命令可以帮助您在Go开发中进行编译、测试、运行和…...
2024/5/4 14:46:11 - 用欧拉路径判断图同构推出reverse合法性:1116T4
http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b,我们在 a i a_i ai 和 a i 1 a_{i1} ai1 之间连边, b b b 同理,则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然࿰…...
2024/5/4 2:14:16 - 【NGINX--1】基础知识
1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...
2024/5/4 21:24:42 - Hive默认分割符、存储格式与数据压缩
目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限(ROW FORMAT)配置标准HQL为: ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...
2024/5/4 12:39:12 - 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法
文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中,传感器和控制器产生大量周…...
2024/5/4 13:16:06 - --max-old-space-size=8192报错
vue项目运行时,如果经常运行慢,崩溃停止服务,报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中,通过JavaScript使用内存时只能使用部分内存(64位系统&…...
2024/5/4 16:48:41 - 基于深度学习的恶意软件检测
恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞,例如可以被劫持的合法软件(例如浏览器或 Web 应用程序插件)中的错误。 恶意软件渗透可能会造成灾难性的后果,包括数据被盗、勒索或网…...
2024/5/4 14:46:05 - JS原型对象prototype
让我简单的为大家介绍一下原型对象prototype吧! 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象…...
2024/5/4 2:00:16 - C++中只能有一个实例的单例类
C中只能有一个实例的单例类 前面讨论的 President 类很不错,但存在一个缺陷:无法禁止通过实例化多个对象来创建多名总统: President One, Two, Three; 由于复制构造函数是私有的,其中每个对象都是不可复制的,但您的目…...
2024/5/4 23:54:30 - python django 小程序图书借阅源码
开发工具: PyCharm,mysql5.7,微信开发者工具 技术说明: python django html 小程序 功能介绍: 用户端: 登录注册(含授权登录) 首页显示搜索图书,轮播图࿰…...
2024/5/4 9:07:39 - 电子学会C/C++编程等级考试2022年03月(一级)真题解析
C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...
2024/5/4 14:46:02 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57