As with the EJB2.1 we would call the create methods(Home interface) to create and initialize the session bean instance. Now in ejb3, since we don't have the Home Object how do we initialize the session bean instances. Should we have separate initialization methods and call it explicitly before we call any business methods.
when you really want something, all the universe always conspires in your favour.<br /> <br />SCJP1.5-77%<br />SCWCD-89%
posted 8 years ago
You can use the @PostConstruct lifecycle interceptor method to initialize any Statefull Session instance attribute.
This paragraph of Enterprise JavaBeans 3.0 (O'Reilly), Chapter 11.5. "The Life Cycle of a Stateful Session Bean", might be useful:
When a client invokes the first method on the stateful session bean reference, the bean's life cycle begins. The container invokes newInstance( ) on the bean class, creating a new instance of the bean. Next, the container injects any dependencies into the bean instance. At this point, the bean instance is assigned to the client referencing it. Finally, just like stateless session beans, the container invokes any @PostConstruct callbacks if there is a method in the bean class that has this annotation applied. Once @PostConstruct has completed, the container continues with the actual method call.