Spring容器的事件机制

一.概述

Spring容器暴漏了很多扩展点给框架的使用者,让框架的使用者能够干涉一些容器内部的事情,也让框架的使用能够感知到容器内部发生了什么事情,比如Spring容器在初始化完后,就会广播一个容器初始化完成的事件,然后事件的监听者监听到这个事件后做相应的事情,这也是Spring容器的一个非常有用的扩展点。

如何读懂JVM GC日志

我们经常会在线上观察JVM运行时GC日志,其实GC日志中有很多信息可以挖掘,比如下面的GC日志信息

[GC [DefNew: 34538K->2311K(36352K), 0.0232439 secs] 45898K->15874K(520320K), 0.0233874 secs]
[Full GC [Tenured: 313563K->15402K(483968K), 0.2368177 secs]
343563K->18402K(520320K), [Perm : 28671K->28635K(28672K)], 0.2371537 secs]

sqlmap被Spring容器加载了

一.现象

最近发布需求升级一个中间件,一个web应用在启动的时候,偶尔会会报下面的错误,报错的规律无法跟踪,导致应用启动失败。
ibatis-psring
有时候启动应用就会出现上面的异常,有时候启动应用没有异常,在发布的时候要是机器启动失败,我们就不断重启,直到机器重启成功。

BeanFactoryPostProcessor和BeanPostProcessor

一.概述
我们经常使用Spring框架,Spring帮我托管bean的创建以及bean的管理,同时又暴漏出一些可扩展的地方,方面程序员去干涉bean或者Spring容器的创建。今天有同学问BeanPostProcessor相关的东西,由此很容易想到BeanFactoryPostProcessor,这里总结一下,方便后面在开发的过程中灵活使用。

maven自己的仲裁机制

maven现在被广泛用来做项目管理的工具,我们经常在maven的pom文件中指定我们项目依赖的二方库,我们也会经常遇到jar包冲突,类冲突的问题。关于类冲突就是由于maven自己的仲裁机制,把应该引入的jar包给仲裁了,那么maven自己到底是如何仲裁jar包的呢?