On p.118 of Ivan's notes, the important notes :
When there are multiple interceptors of the same kind, for instance for post-construct life cycle events, a interceptor chain is built and the first interceptor method in the chain is invoked by the container.
But what I observe is all post-construct interceptors are called, not only the first interceptor method:
Output on the console:
LogInterceptor - constructor
Info: MyDefaultInterceptor.postContruct
Info: LogInterceptor.postContruct
Info: MyAroundInvokeInterceptor.postContruct
Info: *** SingletonSessionBeanA - initialized
MyAroundInvokeInterceptor is the second interceptor in the chain, but it is still invoked to intercept the @PostConstruct method in the SingletonBeanA.