if you haven't obtained a copy of the EJB specification from SUN you should because you can find it there:
1. Not all. The specification lists the callbacks that run in an unspecified transaction context. 2. Unspecified transaction context means that the specification doesn't demand anything from the container. Some containers may use a transaction, others may use no transaction at all. 3. No. See e.g. table in par. 7.6.1. I believe the container will throw a java.lang.IllegalStateException.