Home

Spring bean构造后、销毁前的钩子处理函数

bean初始化过程 代码实例 // 声明bean时定义initMethod和destroyMethod @Bean(initMethod = "initMethod", destroyMethod = "destroyMethod") public SampleBean sampleBean() { return new SampleBean(); } package com.tinktek.odm.manager.impl; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.Initializi...

Read more

Seata在Docker下安装

运行临时容器并复制默认配置 mkdir -p /opt/volume/seata docker run -d -p 8091:8091 -p 7091:7091 --name seata --rm seataio/seata-server:1.7.0 docker cp seata:/seata-server/resources /opt/volume/seata/conf docker stop seata 启动容器 docker run --name seata \ --restart always \ -p 8091:8091 \ -p 7091:7091 \ -v /opt/volume/seata/conf:/seata-server/resources \ -v...

Read more

Postman环境变量使用

创建环境 可以创建一个专有的环境来放置环境变量 使用环境 使用自己创建的专有环境 手动加入环境变量 使用脚本将响应的值加入环境变量 在Tests页签中加入以下脚本 // 获取响应数据,解析为对象 var data = JSON.parse(responseBody); // 获取需要加入环境变量的值 var token = data.data.authToken; // 加入当前环境 pm.environment.set("token", token); // 加入全局环境 pm.globals.set("token", token); 新版,使用Scripts代替原来的Tests 使用pm.response.text()代替responseBo...

Read more

MyBatis-Plus FieldStrategy配置

FieldStrategy 通过配置FieldStrategy,可以控制在数据库操作时,对应的字段是否参与。 FieldStrategy取值 IGNORED 任何值都处理,包含null NOT_NULL null值忽略不处理 NOT_EMPTY null值和空字符串忽略不处理 NEVER 任何值都不处理 DEFAULT 按全局配置 单字段配置 可分别配置update、insert、where场景下的策略 @TableField(updateStrategy = FieldStrategy.IGNORED, insertStrategy = FieldStrategy.IGNORED, whereStrategy = FieldStrategy.IGNO...

Read more

Java Concurrency In Practice线程安全相关注解使用

代码实例 <dependency> <groupId>net.jcip</groupId> <artifactId>jcip-annotations</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> @ThreadSafe标注线程安全类 @NotThreadSafe标注非线程安全类 @GuardedBy("lock")标注状态被哪个锁保护 @Immutable标注不可变状态

Read more

Guava限流RateLimiter使用

代码实例 package com.tinktek.interfaces; import java.lang.annotation.*; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface RateLimit { String key() default ""; double permitsPerSecond() default 1.0; long timeoutMillis() default 100; String failMessage() default ""; ...

Read more

Spring延时任务使用

代码实例 @Configuration public class SchedulerConfig { private static final int SCHEDULER_POOL_SIZE = 5; private static final String SCHEDULER_THREAD_NAME_PREFIX = "scheduler-"; @Bean public ThreadPoolTaskScheduler threadPoolTaskScheduler() { ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPo...

Read more

RedisTemplate使用

Maven依赖 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 配置 application.properites spring.redis.host=192.168.1.11 spring.redis.port=6379 spring.redis.database=0 spring.redis.password=xxx spring.redis.timeout=300...

Read more

Jedis基本使用

连接服务端 Jedis jedis = new Jedis("192.168.1.11", 6379); String result = jedis.ping(); jedis.close(); 基本数据操作 Set<String> keys = jedis.keys("*"); jedis.set("k1", "v1"); jedis.get("k1"); jedis.lpush("k1", "v1", "v2", "v3"); List<String> values = jedis.lrange("k1", 0 , -1); jedis.sadd("k1", "v1", "v2"); jedis.smembers("k1"); jedis....

Read more

Elasticsearch部署配置

Linux系统配置 /etc/security/limits.conf # 每个进程可以打开的文件数限制 es soft nofile 65536 es hard nofile 65536 /etc/security/limits.d/20-nproc.conf # 每个进程可以打开的文件数限制 es soft nofile 65536 es hard nofile 65536 /etc/sysctl.conf # 一个进程可以拥有的VMA(虚拟内存区域)数量,默认65536 vm.max_map_count=655360 重新加载配置 sysctl -p JVM配置 最大堆内存不超过系统总内存的一半,例如系统总内存为64G config/jvm.options ...

Read more