Yeah, I had the same doubts. The only logical explanation to this is that the container cannot always distinguish the
thread related to the first method call (coming from the client) from the thread related to the second method call (coming from bean B). The good thing for us (developers) is that we don't have take the re-entrance into account.