It is given in the spec that
At most one method of a given interceptor class can be designated as an around-invoke method, a
pre-construct method, a post-destroy method, a pre-passivate method, or a post-activate method, regardless of whether the deployment descriptor is used to define interceptors or whether some combination of annotations and deployment descriptor elements is used.
I am trying the same. I have defined three @PostConstruct methods in Interceptror class. While running the example, Only one method is executing , but there is no error for specifying more than one method for post-construct callback.
The code for interceptor class is
The output is
In @PostConstruct of Interceptor class 1
In @PostConstruct defined in Bean Class
The second line of output is for the @PostConstruct method defined in bean class itself.
I am not clear, why only one method picked up from Interceptor class and why the second method only.