SpringCache

Configuration

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  @Bean
public CacheManager cacheManager(RedisConnectionFactory factory) {
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()
.serializeKeysWith(
RedisSerializationContext.SerializationPair.fromSerializer(RedisSerializer.string()))
.serializeValuesWith(
RedisSerializationContext.SerializationPair.fromSerializer(serializer()))
.disableCachingNullValues()
//replace double colons to single colons
// .computePrefixWith(cacheName -> cacheName+":")
.entryTtl(getDuration());

return RedisCacheManager
.builder(factory)
.cacheDefaults(config)
.build();
}
阅读更多

Stream

转集合

1
List<String> strList=list.stream.map(T::get).collect(Collectors.toList);

根据分类分组

1
2
3
4
5
6
7
List<AppModel> list=new ArrayList<>();
Map<String, List<AppModel>> groupByCategoryList = appModelList
.stream()
.collect(
Collectors
.groupingBy(AppModel::getModelCategory)
);
阅读更多

Jackson正反序列化

  • 范例1:List<T>
  • 范例1:List<Map<String, T>>
  • 范例2:Map<String, List<T>>
1
2
3
4
5
6
//先构造Map<String,Person>得到innerType,第一个参数为外层对象HashMap,第二个参数为String,第三个参数为Person
JavaType innerType = mapper.getTypeFactory().constructParametricType(HashMap.class, String.class, Person.class);
//再构造List<innerType>
JavaType resultType = mapper.getTypeFactory().constructParametricType(ArrayList.class, innerType);
//反序列化
List<Map<String, Person>> result2 = mapper.readValue(s, resultType);

ELK记录

Filebeat

1
./filebeat -e -c filebeat.yml -d "publish"

https://www.elastic.co/guide/en/beats/filebeat/7.8/filebeat-starting.html

Logstash

1
./logstash -f ../config/logstash-sample.conf  --config.reload.automatic

https://www.elastic.co/guide/en/logstash/current/advanced-pipeline.html

格式

1
2
3
2020-07-21 09:15:38,001 INFO [quartzScheduler_Worker-3] c.g.j.modules.quartz.jobs.SampleJob [SampleJob.java : 20] 定时任务! 时间:2020-07-21 09:15:38

%{TIMESTAMP_ISO8601} %{LOGLEVEL:loglevel} \[%{DATA:thread}\] %{JAVACLASS:class} \[%{JAVAFILE:file} (?:: %{BASE10NUM:line})?\] %{GREEDYDATA:msg}

elasticsearch

查看索引信息

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

查看所有索引状态

curl 'localhost:9200/_cat/indices?v'

删除索引

curl -XDELETE http://localhost:9200/index_namee

https://www.cnblogs.com/zhangb8042/articles/11346085.html

nohup ./kibana >/dev/null 2>&1 &

nohup ./elasticsearch >/dev/null 2>&1 &

nohup ./logstash -f ../config/logstash-sample.conf --config.reload.automatic >/dev/null 2>&1 &

Tomcat-APR

Tomcat-APR

SpringBoot 内置 Tomcat 启用 APR(Linux)

准备文件

  • apr-1.7.0.tar.gz

  • apr-util-1.6.1.tar.gz

  • apr-iconv-1.2.2.tar.gz

    Apache 官网下载 开启 APR 所需文件

阅读更多

Activiti记录

Activii 使用记录 –持续更新

  1. 根据流程实例 ID 删除正在运行的流程 以及流程所有数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DELETE FROM ACT_HI_ATTACHMENT T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_HI_COMMENT T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_HI_ACTINST T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_HI_DETAIL T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_HI_IDENTITYLINK T WHERE T.TASK_ID_ IN (
SELECT T.ID_ FROM ACT_RU_TASK T WHERE T.PROC_INST_ID_='7426459'
UNION ALL
SELECT T.ID_ FROM ACT_HI_TASKINST T WHERE T.PROC_INST_ID_ ='7426459'
) OR T.PROC_INST_ID_ ='7426459';
DELETE FROM ACT_HI_TASKINST T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_HI_PROCINST T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_HI_VARINST T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_RU_EVENT_SUBSCR T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_RU_IDENTITYLINK T WHERE T.TASK_ID_ IN (
SELECT T.ID_ FROM ACT_RU_TASK T WHERE T.PROC_INST_ID_='7426459'
) OR T.PROC_INST_ID_='7426459';
DELETE FROM ACT_RU_VARIABLE T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_RU_TASK T WHERE T.PROC_INST_ID_='7426459';
DELETE FROM ACT_RU_EXECUTION T WHERE T.PROC_INST_ID_='7426459';
阅读更多
剑指offer系列

剑指offer系列

网络

HTTP 状态码

五种可能的取值

  • 1xx: 指示信息–表示请求已接受急需处理
  • 2xx: 成功–表示请求已被接受, 理解, 接受
  • 3xx: 重定向–表示完成请求需必须进行更进一步的操作
  • 4xx: 客户端错误–请求有语法错误或请求无法实现
  • 5xx: 服务端错误–服务器未能实现合法的请求
阅读更多
Session、Cookie、Token

Session、Cookie、Token

session,cookie 和 token 究竟是什么

简述

我在写之前看了很多篇 session,cookie 的文章,有的人说先有了 cookie,后有了 session。也有人说先有 session,后有 cookie。感觉都没有讲的很清楚,泛泛而谈。希望本篇文章对大家有所帮助
注:本文需要读者有 cookie,session,token 的相关基础知识。
http 是一个无状态协议


阅读更多
Activiti6 工作流本地部署及更改数据源为MySQL

Activiti6 工作流本地部署及更改数据源为MySQL

什么是工作流

既然你都来看这篇文章了还需要介绍什么是工作流? 所以我们直入正题…

准备工作

  1. 下载 war 包, JDK1.8,Tomcat(最新目前应该是 9.0.17)

  2. 你需要在 GitHub Activiti 中下载 Activiti6 的 war 包, Activiti6 源码在这里

    github 速度太慢可以从这里下载下载

  3. 安装 MySQL 版本 5.6 或 5.7 都可以 我这里只能装的是 MySQL8.0[5.8]

  4. Tomcat 略

  5. JDK 略

  6. 数据库连接工具 Navicat

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×