日常小记
文章平均质量分 73
ihaveadream丶
这个作者很懒,什么都没留下…
展开
-
spring整合rocketmq
消息生产者就是把生产者 DefaultMQProducer 对象的生命周期分成构造函数、init、destroy 三个方法,构造函数中将生产者组名、NameServer 地址作为变量由 Spring 容器在配置时提供,init 方法中实例化 DefaultMQProducer 对象、设置 NameServer 地址、初始化生产者对象,destroy 方法用于生产者对象销毁时清理资源。logger.info("监听到消息 : " + new String(ext.getBody(), "UTF-8"));转载 2023-03-09 18:10:12 · 729 阅读 · 0 评论 -
消息队列常见的 5 个应用场景
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。转载 2023-03-02 19:35:49 · 469 阅读 · 0 评论 -
CENTOS下安装JDK
下载地址:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html。#如果下载不下来,手动下载后放到/usr/java目录下,并解压。原创 2023-02-02 09:05:07 · 701 阅读 · 0 评论 -
SpringMVC详解
前面的转换,都是系统自动转换的,这种转换仅限于基本数据类型。特殊的数据类型,系统无法自动转换,例如日期。例如前端传一个日期到后端,后端不是用字符串接收,而是使用一个 Date 对象接收,这个时候就会出现参数类型转换失败。这个时候,需要我们手动定义参数类型转换器,将日期字符串手动转为一个 Date 对象。@Componenttry {复制代码在自定义的参数类型转换器中,将一个 String 转为 Date 对象,同时,将这个转换器注册为一个 Bean。转载 2023-01-30 15:37:53 · 233 阅读 · 0 评论 -
CompletableFuture异步编程
CompletableFuture是Java 8新增的一个类,用于异步编程,继承了Future和CompletionStage这个Future主要具备对请求结果独立处理的功能,CompletionStage用于实现流式处理,实现异步请求的各个阶段组合或链式处理,因此completableFuture能实现整个异步调用接口的扁平化和流式处理,解决原有Future处理一系列链式异步请求时的复杂编码1、Future 的结果在非阻塞的情况下,不能执行更进一步的操作。转载 2023-01-30 15:26:24 · 295 阅读 · 0 评论 -
3 张图带你彻底理解 RocketMQ 事务消息
从上面代码的分析可以看到,RocketMQ 的事务消息实现机制非常简洁。使用事务消息时自己定义 TransactionListener,实现执行本地事务 executeLocalTransaction 和检查本地事务状态 checkLocalTransaction 这两个方法,然后使用 TransactionMQProducer 进行发送。转载 2023-01-14 14:56:46 · 137 阅读 · 0 评论 -
Spring中让人眼前一亮的11个小技巧
其实,我们经常使用的注解,比如:@Autowired、@Value、@Resource、@PostConstruct等,是通过AutowiredAnnotationBeanPostProcessor和CommonAnnotationBeanPostProcessor实现的。Spring IOC在实例化Bean对象之前,需要先读取Bean的相关属性,保存到BeanDefinition对象中,然后通过BeanDefinition对象,实例化Bean对象。这时可以使用@Import注解完成这个功能。转载 2023-01-09 08:36:36 · 68 阅读 · 0 评论 -
ping 与 telnet 的区别
具体步骤如下,依次在【控制面板-程序-程序与功能-打开或关闭Windows功能】中,找到“telnet”工具并勾选。第二种,点击左下角菜单按钮,依次进入【所有程序-附件-运行】,在运行编辑中,输入cmd即可。1、在cmd中输入ping,然后按下空格,在输入我们需要测试的IP或地址(如:ping。2、然后启动cmd命令,再根据想要判断的IP及端口,输入命令即可。第一种,快捷启动,在键盘中按下Win+R,在运行编辑中,输入cmd即可;2、在ping命令中,如果想持续测试,则在命令后加-t,如(ping。原创 2023-01-05 10:45:12 · 1054 阅读 · 0 评论 -
oracle导入dmp文件
解决方案:dmp文件的导出版本号,与当前数据库版本不一致,需要更改下dmp文件版本。2.Oracle错误IMP-00010: 不是有效的导出文件, 头部验证失败。选择文件,输入现在数据库版本,点击修改即可。system是账号 / 123是密码。使用小工具AlxcTools.exe。1.不要使用中文路径。原创 2022-12-24 15:28:14 · 270 阅读 · 0 评论 -
mybatis调用存储过程
MyBatis调用存储过程的方式,和普通的select查询方式用法相同,都可以接收方法入参(parameterType = String | Object | Map)、和方法返回值(resultType | resultMap)。--注意,在mapper-select节点配置时,需要增加一项设置:statementType=“CALLABLE",以表明这是一个存储过程 -->VALUES ('123456','京东金融','渐渐老了','100');//编写调用存储过程的DAO。//客户端调用存储过程。原创 2022-12-19 09:01:43 · 7933 阅读 · 0 评论 -
查询 Windows 环境下的端口占用
在 Windows环境下查看某个端口的占用情况1、打开命令窗口(以管理员身份运行),window+R 组合键,输入【cmd】命令,调出dos窗口。2、在命令窗口中输入【netstat -ano】命令,回车,就可看到Windows系统当前所有端口的占用情况3、输入【netstat -aon|findstr “端口号”】命令,回车,就可以看到指定端口的占用情况被占用端口对应的 PID,就是执行该命令后的最后一位数字, 这里是 15120。4、输入【tasklist|findstr “被占用端口对应的 P原创 2022-12-07 11:04:04 · 432 阅读 · 0 评论 -
JSP入门
JSP的全称是Java Server Pages,即Java的服务器页面JSP的主要作用是代替Servlet程序回传HTML页面的数据。原创 2022-12-02 09:51:53 · 273 阅读 · 0 评论 -
RequestMapping/ResponseBady/RequestBody
ResponseBody是作用在方法上的,@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】,在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法。// 用于方法上,必须有。* 用于类上,可以没有。转载 2022-12-01 08:25:53 · 104 阅读 · 0 评论 -
Netty入门
本文主要讲述Netty框架的一些特性以及重要组件,希望看完之后能对Netty框架有一个比较直观的感受,希望能帮助读者快速入门Netty,减少一些弯路。官方的介绍:Netty isNetty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。API文档。转载 2022-11-11 09:31:25 · 94 阅读 · 0 评论 -
Reactor模式
本文主要参考Doug Lea(大神)的《》中讲述的Reactor模式。原文地址:http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf有兴趣的可以看看这本书,受益匪浅!Reactor模式一般翻译成"反应器模式",也有人称为"分发者模式"。它是将客户端请求提交到一个或者多个服务处理程序的设计模式。工作原理是由一个线程来接收所有的请求,然后派发这些请求到相关的工作线程中。转载 2022-11-11 08:58:52 · 110 阅读 · 0 评论 -
RestTemplate 最详解
通过 RestTemplate,我们可以非常方便的进行 Rest API 调用。但是在 Spring 5 中已经不再建议使用 RestTemplate,而是建议使用 WebClient。WebClient 是一个支持异步调用的 Client。所以喜欢研究新东西的同学可以开始研究下新东西了。原创 2022-11-08 16:39:30 · 1814 阅读 · 0 评论 -
【FastJSON】使用serializeUsing定制序列化、反序列化
尽量不要使用自定义序列化,除非万不得已,优先考虑使用注解过滤,别名等方式,甚至是重新建一个VO类来组装实际需要的属性。在fastjson 1.2.16版本之后,JSONField支持新的定制化配置serializeUsing,可以单独对某个类的某个属性定制序列化、反序列化。如果只是序列化发出去(响应)的是JSON数据、传过来(请求)的数据格式跟JSON无关或者是标准的,此时自定义序列化就无所谓了,反正是要接收方来处理。反序列化可能出错,因为对应不上原来的属性了。对于新手来说,自定义序列化是一切罪恶的根源。转载 2022-10-21 17:19:01 · 2637 阅读 · 0 评论 -
ssm项目打包成war包
第二步:给war包重命名,选中项目,创建Manifest...,选中web(or webContent文件夹),点击OK,点击Apply。第四步 放到服务器tomcat下的webapps文件夹下并重启tomcat。./shutdown.sh 关闭tomcat。./startup.sh启动tomcat。查看所有端口号的命令: ss -tanl。Linux命令下的命令。原创 2022-09-29 15:32:04 · 2212 阅读 · 0 评论