Spring事务的aop浅析
结合之前说到的SpringAop浅析(二)本篇将从事务的角度,来看下spring或者说springboot是如何通过一些简单的配置就可以将一些方法进行事务的管理,并了解一些事务在管理过程中的一些简单api。
结合之前说到的SpringAop浅析(二)本篇将从事务的角度,来看下spring或者说springboot是如何通过一些简单的配置就可以将一些方法进行事务的管理,并了解一些事务在管理过程中的一些简单api。
接两年前的旧文SpringAop浅析,时隔两年再一次对SpringAop相关源码进行分析,只能说之前阅读的不够透彻,理解的不扎实,再加上工作上常年忙于业务的处理,现在已经少有看源码的时间,不过最近不知道是因为什么打了鸡血,还是想再沉淀沉淀。
我接手的一个服务没有依赖于公司建设项目一体化体系中的认证中心,导致这个服务自身需要支持认证授权模块,由于需求上只需要一个简单的登录模块,所以引入了spring-security模块来进行认证授权相关处理。早上收到一个测试提出的bug,服务在使用一段时间不使用后,再操作,会出现警告异常提示。定位问题发现是由于token失效导致后端校验报错,由于这个校验是在filter中处理,导致全局异常无法捕获,前端获取的异常结构与标准结构(约定异常体结构<msg,code,info>等)不符,导致前端也无法解析具体异常信息,所以界面上显示的是直接抛出的异常信息。
proxy_pass是nginx中常见的反向代理指令。
格式:proxy_pass {传输协议}{主机名}{URI}
http://或者https://IP:PORTURI:具体的访问地址两种方式都可以直接覆盖yaml或者properties配置中的同名配置项。
-D(包括-X)表示添加的参数是jvm虚拟机变量。java应用中通过System.getProperties("")获取。--表示添加的参数是操作系统的环境变量。java应用中通过System.getEnv("")获取。-D参数要放置在-jar命令之前,--参数要放置在-jar命令之后。
java -Dserver.port=8080 -Xms128m -jar –server.name=myApp
可通过jps命令查看java应用具体的参数值。
jps -v:可以查看-D、-X参数示例:1 jar -Djava.util.Arrays.useLegacyMergeSort=true -Djava.security.egd=file:/dev/./urandom -Xms128m -Xmx512m
jps -m:可以查看--参数示例:1 jar --spring.profiles.active=dev --logging.config=logback-spring.xml
公司内网的服务是通过Rancher进行编排,Rancher有V1和V2两个版本,都是提供容器调度与编排,在V1版本中可选不同的编排模式,比如cattle、swarm、kubernetes。所以V1时代,它给自己的定位是各种编排工具的上层,通过它去管理编排工具。由于k8s后来发展势不可挡,所以V2版本诞生,移除了其他类型的编排工具,只剩下k8s,所以Rancher的底层是采用k8s编排,并对其功能进行了一些扩展和提供一些便捷工具,包括执行命令行,管理多个k8s集群等。