In a managed bean, @PostConstruct is called after the regular Java object constructor.
@PostConstruct
Why would I use @PostConstruct to initialize by bean
Also constructor based initialisation will not work as intended whenever some kind of proxying or remoting is involved.
The ct will get called whenever an EJB gets deserialized, and whenever a new proxy gets created for it...