
日常记录
寻找星星的梦
这个作者很懒,什么都没留下…
展开
-
使用事务注解@Transactional事务失效的三种原因
第一种 Transactional注解标注方法修饰符为非public时,@Transactional注解将会不起作用。第二种 在类内部调用类内部@Transactional标注的方法。这种情况下也会导致事务不开启。第三种 事务方法内部捕捉了异常,没有抛出新的异常,导致事务操作不会进行回滚。转自https://blog.youkuaiyun.com/qq_20597727/article/details/84900994...转载 2021-09-24 17:47:21 · 1281 阅读 · 0 评论 -
一次多线程优化读取文件的实战
需求描述:商户每天会定时将文件传到我们的sftp服务器,我们需要对文件解析落库等操作。方案A:起初的设计是将文件下载到本地,读取整个文件,落库等一系列处理。方案A的设计本来是没问题的,因为商户每天回传的文件不过5MB左右,程序运行了一年多时间,直到后来对接了一个新商户A,A回传的文件每天都在增长,有一天达到了200+MB,当程序将整个文件加载到内存时直接把CPU打满,最后内存溢出了,于是发现原先的方案已不适用,需要马上修改,此时引入了多线程,也就是方案B。方案B:将文件下载后,不再一次性全部读取,而是原创 2020-12-30 22:35:27 · 628 阅读 · 1 评论 -
spring的事件发布与监听
当一次请求中的某些流程只需要执行,不需要结果时,可以考虑将这些流程的执行放到异步线程去执行,可以使用spring上下文自带的事件发布与监听去实现。spring上下文工具类/** * spring上下文工具类 */@Component@Lazy(false)public class SpringContextUtils implements ApplicationContextAwar...原创 2020-04-07 23:19:56 · 883 阅读 · 0 评论 -
logback属性配置记录
参考:logback配置文件—logback.xml详解1、设置日志文件名称,让程序加载根据不同的日志系统,按如下规则组织配置文件名,就能被正确加载:Logback:logback-spring.xml, logback-spring.groovy, logback.xml,logback.groovyLog4j:log4j-spring.properties, log4j-sprin...原创 2020-04-01 18:34:52 · 591 阅读 · 0 评论 -
自己的springboot starter
参考:https://www.cnblogs.com/yuansc/p/9088212.html1、创建一个springboot项目,将以下依赖引入<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <arti...原创 2020-03-31 22:54:39 · 152 阅读 · 0 评论 -
@ExceptionHandler与@Aspect对异常的全局处理
之前做过的项目都是从service一路抛到controller,然后定义一个controller层的统一异常处理类,最近做的项目却是使用AOP进行全局的异常拦截处理,很好奇两种方式有何不同,如果同时定义又会怎样,经过验证,如果定义了AOP拦截处理异常,@ExceptionHandler就没有用了,因为他是对于controller层抛出去的异常进行处理,而在切面处异常已经被处理,所以不会执行,以下是...原创 2020-03-25 23:26:09 · 4912 阅读 · 2 评论 -
使用@Autowired对set方法参数是map的注入
文章内容简要:1、java使用@Autowired对方法参数是map的注入1、java使用@Autowired对方法参数是map的注入最近在项目中看到对set方法直接使用@Autowired,接收参数是一个Map<String,类名称>集合,一时没搞懂接收的map是从哪里取到的值,经过上网查资料与试验终于明白:spring会将注入的bean的类是指定类的所有对象,聚到一起组成一...原创 2020-03-24 00:00:38 · 1523 阅读 · 0 评论