ok look at this (from "Mastering ejb 2nd edition" )
changed the client slightly
the hashcode says that, when a bean is activated, it actually uses a NEW object ?!
output
========
see carefully
a new line whenever a new bean object is found !!!
examples.CountBean_12vkrz_Impl@ff351667 setSessionContext() weblogic.ejb20.internal.SessionEJBContextImpl@ff35168b
examples.CountBean_12vkrz_Impl@ff351667 ejbCreate() 0
examples.CountBean_12vkrz_Impl@ff351667 count() 1
examples.CountBean_12vkrz_Impl@ff1692c6 setSessionContext() weblogic.ejb20.internal.SessionEJBContextImpl@ff1692d8
examples.CountBean_12vkrz_Impl@ff1692c6 ejbCreate() 1
examples.CountBean_12vkrz_Impl@ff1692c6 count() 2
examples.CountBean_12vkrz_Impl@ff16ca04 setSessionContext() weblogic.ejb20.internal.SessionEJBContextImpl@ff16ca0b
examples.CountBean_12vkrz_Impl@ff16ca04 ejbCreate() 2
examples.CountBean_12vkrz_Impl@ff351667 ejbPassivate() 1
examples.CountBean_12vkrz_Impl@ff16ca04 count() 3
examples.CountBean_12vkrz_Impl@ff1692c6 ejbPassivate() 2
examples.CountBean_12vkrz_Impl@ff173004 ejbActivate() 1
examples.CountBean_12vkrz_Impl@ff173004 count() 2
examples.CountBean_12vkrz_Impl@ff16ca04 ejbPassivate() 3
examples.CountBean_12vkrz_Impl@ff173a6c ejbActivate() 2
examples.CountBean_12vkrz_Impl@ff173a6c count() 3
examples.CountBean_12vkrz_Impl@ff173004 ejbPassivate() 2
examples.CountBean_12vkrz_Impl@ff172aca ejbActivate() 3
examples.CountBean_12vkrz_Impl@ff172aca count() 4
examples.CountBean_12vkrz_Impl@ff173a6c ejbPassivate() 3
examples.CountBean_12vkrz_Impl@ff1712a7 ejbActivate() 2
examples.CountBean_12vkrz_Impl@ff1712a7 ejbRemove() 2
examples.CountBean_12vkrz_Impl@ff170209 ejbActivate() 3
examples.CountBean_12vkrz_Impl@ff170209 ejbRemove() 3
examples.CountBean_12vkrz_Impl@ff172aca ejbRemove() 4