- 博客(22)
- 收藏
- 关注
原创 ES学习笔记
普通分页查询时,每次都会重新排序查询,称为深分页。为解决这个问题,可以用scroll分页查询,在第一次查询时生成一个快照,后面每次翻页是用游标从快照中读取下一批数据。Beats是一套采集工具,运行在被采集服务器上,将指定数据采集到ES或LogStash上。1.ES基于LUCENCE,扩展实现分布式等功能。2.创建配置文件(被采集服务器上)11.Elasticsearch准实时索引实现。10. Elasticsearch重要工作流程。3. 运行(被采集服务器上)8.javaAPI编程。3.安装head插件。
2022-12-11 19:11:50
1278
原创 记一次线上故障排查
接客户及前端同学报告,服务器部分接口请求及MQTT返回有很大延迟及请求超时的现象.自测部分接口有30秒左右延迟.故障排查:查询项目错误日志,发现报错:初步判断数据库连接池用完了,导致接口中数据库查询线程堆积.以及MQTT处理器线程池耗完.对策:将数据库连接池最大数量扩大十倍:服务重启后,过了一会请求又开始变慢.查询服务器负载资源及数据库资源,均未到达瓶颈.并尝试扩容集群数,也未能解决问题.故判断是数据库查询过慢导致.打开druid数据库监控,发现有一个慢查询,时间要近10秒.导致数据库连接池资源被耗光
2022-06-22 18:57:45
1772
1
原创 记一次事务失效的问题
简化的项目结构时这样的:其中a()和b()都加上了@Transactional注解。配置文件中也做了配置<tx:annotation-driven proxy-target-class="true"/>但b()的事务不生效。常见的事务不生效原因有:创建的mysql数据库表引擎,MyISAM不支持事务。 类没有被Spring托管。 方法不是publ...
2020-03-16 03:30:22
1076
转载 RabbitMQ安装及配置
官网 http://www.rabbitmq.com/install-debian.html#apt下载:sudo apt-get install rabbitmq-server启停:service rabbitmq-server startservice rabbitmq-server stop启用控制台rabbitmq-plugins enabl...
2019-03-14 09:43:53
211
原创 rabbitMQ消息路由总结
1.当消息发送到交换器(exchange)时,交换器根据消息的topic key选择出订阅该topic的队列(queue),为每个订阅的队列发送一份消息(广播消息).当有多个消费者客户端消费同一队列时,消费者会轮流消费消息(工作队列,争抢资源) 2.当同一队列名的多个队列绑定多个交换器时,发往这些交换器的消息都会发送到同一个队列中.如果两个消费端为同名队列分别订阅主题,则这些订阅会合并...
2019-01-10 14:34:54
365
原创 SpringMVC 前端传递参数的自定义转换方式实现
我们知道,前端传递给后端的参数只能是String类型的文本.而在后端Controller中,接收的参数类型可以是String,Integer,Boolean,Collection等各种Java支持的类型.这中间就需要有一个参数转换的过程.Spring中默认的转换方式,定义在PropertyEditorRegistrySupport类中createDefaultEditors方法内:...
2018-09-12 17:42:41
1071
原创 RocketMQ部署及收发信息
由于公司项目要从阿里云上迁到腾讯云,原ons等服务均不再使用,故选择将RocketMQ部署服务器来替代ons.在此记录部署过程. Apache RocketMQ官网: http://rocketmq.apache.org/docs/quick-start/ 1. RocketMQ安装部署1.1 下载及安装RocketMQ4.2.0预先装好jdk1.8以上,并配置好...
2018-07-10 09:58:50
1106
原创 使用Nginx部署静态页面
1.找到nginx的安装路径及配置文件ps -ef|grep nginxroot 12604 1 0 18:14 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf2.查看nginx的配置文件http { include /etc/nginx/mime...
2018-06-21 15:15:26
4606
原创 使用dora实现反向代理
简单记录下dora反向代理使用方法。dora使用:https://ant-tool.github.io/dora.htmldora-plugin-proxy:https://github.com/dora-js/dora-plugin-proxy启动:dora -p 8001 --plugins webpack,proxy在项目目录新增 proxy.config
2018-02-07 17:05:45
1048
原创 快速学会使用MyBatis
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis封装了JDBC,并提供对象映射。他减少了几乎所有JDBC的代码和手动配置,只需要进行简单的XML或注解配置,就能灵活地完成数据库操作。MyBatis与spring组合使用可以发挥出更加强大的作用。MyBatis有两种使用方法:通过xml配置文件配置,或通过java注解配置。实际项目开发中,可以灵
2017-08-31 12:46:39
336
原创 使用exe4j生成exe可执行程序
exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面(GUI)或命令行的应用程序。如果你想在任务管理器中及Windows XP分组的用户友好任务栏里以你的进程名取代java.exe的出现,那么exe4j可以完成这个工作。exe4j帮助你以一种安全的方式启动你的 java应用程序,来显示本地启动画面,检测及发布合适
2017-01-23 09:46:50
1534
原创 分组密码——DES加密算法
分组密码概述 分组密码是对称密码的一种,是最常用的加密手段,也是密码学极其重要的应用。所谓对称密码,即是加密和解密使用同一密钥或加密和解密的密钥之间存在简单的、容易计算的互推关系。 分组密码的工作方式是,首先将明文分成长度固定的组,如64比特或128比特为一组,并对不足64比特或128比特的尾组用适当的方式进行填充,将其扩充为一个整组后进行加密。然后用同一密钥和算法对每
2017-01-12 19:10:17
6303
原创 Base64编码
Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。
2017-01-10 16:00:13
847
转载 MD5算法
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。 MD5功能: 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹); 不同的输入得到的不同的结果(唯一性); 根据128位的输出结果不可能反推出输入的信息(不可逆)
2017-01-10 14:19:18
344
原创 VS2015下编译C的常见错误
最近在学习一个C语言编写的API,在编译运行源码时发生了大量错误,花了许多时间才解决。记录一下,以便今后参考。首先,在分析错误类型时要知道,VS中报错代码为Cxxx的是编译期错误,LNKxxx的是链接时的错误。只有编译完全通过后才会开始链接。1.改变项目x64、x86:项目右键-属性-配置平台-win32/x64配置管理器-活动解决方案平台 和 项目平台中改win3
2017-01-09 17:27:47
5174
原创 java程序中调用c语言库
1.写一个调用的C程序的类例如一个简单的字符串输入输出类:package com.lxy;public class Test { public static void main(String[] args) { TestC t = new TestC(); t.set("abc"); System.out.println(t.get()); }}其中Sys
2017-01-09 17:08:23
2316
原创 eclipse中查看框架的源码方式
框架源码的查看方法:一.maven管理1.在maven下载jar包时自动下载源码及文档:Preferences -> maven -> 勾选Download Artifact Sources 和 Download Artifact javaDoc2.maven中手动下载源码:在工程或要下载的jar包上右键->maven->Download Sources二、
2016-05-28 12:50:38
987
原创 用Grunt搭建前端Web工程
Grunt是基于任务的命令行构建工具,是一款用于前端的自动化工具。他可以自动化地完成构建、检查、压缩等任务,使程序员从重复而繁琐的任务中解脱出来,更专注于coding。Grunt的安装及配置方法如下:1.安装Node.jsGrunt依赖于Node.js的0.8以上版本。可以前往官网下载。安装完成后,在命令行中输入 node -v 检验是否安装完成。2.安装全局gru
2016-05-18 13:50:13
402
原创 Spring和MyBatis整合,druid连接池
一、导入所需jar包 junit junit 4.11 test org.springframework spring-test 4.0.5.RELEASE org.springframework spring-context 4.0.5.RELEASE org.mybatis mybatis
2016-05-11 10:25:42
354
原创 spring基本配置,并自动注入
1.创建Maven (Web)工程2.在pom.xml中添加: org.springframework spring-context 4.2.5.RELEASE org.springframework spring-test 4.2.5.RELEASE junit junit 4.113.在src/main/r
2016-04-27 15:34:54
226
转载 Maven Jetty Plugin运行配置jetty:run
如果这个工程是标准的maven-webapp那么基本上不用修改,直接运行jetty:run就可以执行。 但是有时候会报错说 [ERROR] No plugin found for prefix 'jetty' in the current project and in the plugin groups [org.apache.maven.plugins, or
2016-04-27 14:28:06
297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人