其他框架
文章平均质量分 75
swagger Mapstruct lombok 等
极光雨雨
“芝士”与你分享 ———纳西妲
展开
-
SchedulerLock LockProvider参数配置表,列,大小写等 分布式锁 定时任务锁 学习总结
如果未指定此选项,则将使用来自应用程序服务器的时钟(应用程序服务器上的时钟可能不同步,从而导致各种锁定问题)。如果是分布式任务,即多个相同的应用执行定时任务,那么为了防止重复执行可以使用其他分布式锁做内部判断或其他形式的锁机制来防止重复执行。JdbcTemplate 方式,即通过配置一张数据库表 为此提供锁的服务,官方提供的表建表语句,如果需要其他的可以额外加入。lockprovider 依赖,下面会说到,但根据选择不同的锁方式,依赖其实也不同,如果是其他方式请改为其他依赖。如果任务花费的时间超过。原创 2024-06-26 18:32:32 · 894 阅读 · 0 评论 -
Kafka消息丢失处理方式,消息丢失与消费失败区别和分别的处理
Kafka 消息丢失的处理方式可以从生产者、Broker 和消费者三个角度来考虑,以确保消息的可靠传递。原创 2024-05-24 11:42:36 · 721 阅读 · 0 评论 -
手动配置 kafka 用户密码,认证方式等的方式
部分场景会指定使用某一kafka 来提高安全性,这里就不得不使用用户密码认证方式等来控制。原创 2023-12-18 16:25:08 · 1161 阅读 · 0 评论 -
@KafkaListener 注解配置多个 topic
其中 ${xxxx.topic1} 为从springBoot 配置文件中读取的属性值。由于该注解 topic 为字符串数组的类型,所以可以如上加大括号来完成指定。原创 2023-12-18 16:15:27 · 1167 阅读 · 0 评论 -
Java web Excel导出/下载 示例关键代码部分
创建excel 部分 (xlsx格式)结束,具体写入的内容根据需要填入即可。下载模板,导出excel 等。原创 2023-11-22 15:24:28 · 149 阅读 · 0 评论 -
Java 开源重试类 guava-retrying 使用案例
/*** 根据输入的condition重复做task,在规定的次数内达到condition则返回,* 如果超过retryTimes则返回null, 重试次数,整个重试时间以及retry exception都会记录log* 需要注意调用的时候需要新起一个线程,不然重试失败会阻塞当前线程* @param condition 重试条件,比如接口返回errorCode为处理中,或不是最终需要的结果* @param task 重试做的任务。原创 2023-11-20 15:37:55 · 882 阅读 · 0 评论 -
RPC 框架 openfeign 介绍和学习使用总结
*** feign返回结果自定义解析// type.getTypeName() 最上方创建请求时 定义的返回结果的toString 结果 if(type . getTypeName() . contains(XxxxxResult . class . getName())) {// 检查返回是否为对方定义的成功码 如果不是抛出异常 if(!// 可以使用自定义异常类 这里示例使用普通异常 throw new Exception(result . getMessage());原创 2023-11-10 16:37:50 · 1765 阅读 · 1 评论 -
JetCache @Cached 缓存框架学习实践总结
Alibaba 开源框架,基于 Spring 和 Redis 的分布式缓存框架。原创 2023-11-04 18:33:32 · 1643 阅读 · 0 评论 -
@ControllerAdvice @ExceptionHandler用法 全局异常处理两种方法(HandlerExceptionResolver)及全局返回处理 ResponseBodyAdvice
@controllerAdvice @ExceptionHandler @HandlerExceptionResolver ResponseBodyAdvice原创 2023-03-01 18:13:03 · 1626 阅读 · 0 评论 -
spring spring-boot @valid @NotNull @NotEmpty 基本校验使用以及 全局异常优化集成
其中的 Response 为我自己定义的接口返回对象,Response.failMessage 会将失败信息放到的对象 message 属性中一并返回。一套标准的基础校验,可以将校验注解和附带错误信息添加到请求入参上即可完成校验,可以去除简单的校验代码,节省一定的时间和代码量。这里的 @valid 说明后面定义的实体需要进入校验,必须要加,否则实体内定义了校验注解不会生效。指定不同异常类型的处理方式 针对不同的异常上面的特殊处理可以有多个。显然这样的内容是不可读的,需要整理。但是这样的处理未免太过麻烦,原创 2023-03-01 16:57:47 · 1852 阅读 · 0 评论 -
Java guava框架 LoadingCache,CacheBuilder 本地小容量缓存框架学习以及总结
主要是一种将本地数据缓存到内存中,但数据量并不能太大,否则将会占用过多的内存,虽然框架本身已经做了相当的数据回收,但还是不可以滥用,需要符合以下优点场景,才是合适使用,访问内存的速度快于访问 redis 等数据库。对性能有非常高的要求愿意消耗一些内存空间来提升速度预计到某些键会被多次查询缓存中存放的数据总量不会超出内存容量关键有频繁访问的数据,且这些数据本身占用内存量很少,将这些数据存储到该缓存框架中管理以提供性能。:缓存的初始数据容量大小,一般要贴合实际否则会造成资源浪费。原创 2022-10-24 17:38:38 · 5559 阅读 · 0 评论 -
Java Swagger集成 相关学习以及总结
自己任意创建一个文件(名称任意) 内容大致如下:更多内容放到下面逐一加入如果通过 Spring 的 xml 文件注入该类,那么不用添加// 总的接口文档信息 private ApiInfo apiInfo() {} // 要加载的接口信息 以及扫描的接口路径等 @Bean public Docket myApi() {原创 2022-10-20 14:41:52 · 659 阅读 · 1 评论 -
Mapstruct @Mapper @Mapping 使用介绍以及总结
用于各个对象实体间的相互转换,例如数据库底层实体 转为页面对象,Model 转为 DTO(data transfer object 数据转换实体), DTO 转为其他中间对象, VO 等等,相关转换代码为编译时自动产生的新文件和代码。两个对象之间相同属性名的会被自动转换,指定特殊情况时需要通过注解在抽象方法上说明不同属性之间的转换。转换方法一般均为抽象方法,所以这一类文件一般使用 接口 类,或者抽象类均可,官方的介绍一般均使用了接口类文件来完成。如果感兴趣可以到官网看看官网链接官方给与的示例配置在本原创 2022-08-11 18:14:29 · 19994 阅读 · 2 评论 -
swagger @Api @ApiOperation @ApiImplicitParams @ApiResponses @ApiModel @ApiModelProperty 基本使用总结
一般controller上@Api(value="标题",tags="标签一",description="描述")publicclassxxxxxxxxxxxController{@Api用在总的controller上方value即名称,也可以默认不写value,默认会给与value例如@Api("标题")tags即对api的分类,类似于接口的标签用于进一步分类description即对接口的描述一般接口上如下示例对当前具体接口的描述,......原创 2022-07-27 10:23:11 · 3887 阅读 · 0 评论 -
@Data 注解使用 lombok插件学习总结
介绍和理解@Data注解来源于lombom,引入后可以简化一般实体类的get, set, toString,construct(构造函数)等的书写,简洁化代码。在编译阶段改变了class文件的生成方式,使得相关方法加入到编译后的文件中可以正常使用。但这样影响源码的可阅读性,若别人不清楚这一块的内容对一些问题的排查不仅没有帮助,反而会增加难度。但具体使用场景随着不同的项目合适度是不同的,这个具体根据场景决定是否适用。在一些场景下反而会显得更简单。一般的get,set,toString,构造函数,has原创 2021-08-27 14:48:05 · 5599 阅读 · 0 评论