Hi Vishal,
I understand the statement
Invoking the getEJBObject and getEJBLocalObject methods is disallowed in the session bean methods in which there is no session object identity established for the instance.
as follows:
Session object identity is some kind of object identity that is assigned by the container when an instance of the session bean is created. (see core spec 3.4.5).
Since getEJBObject() returns a reference on the current bean instance (it's the getBusinessObject()'s equivalent for ejb2 beans) this method should not be invoked until the bean instance is created. Therefore in the bean's lifecycle, the first method where getEJBObject() can be called is the
post construct method. Same for getEJBLocalOBject().