Tapestry make a single, special case for one particular type of persistent page property: references to Enterprise JavaBeans.
The page recorders check to see if a page property is type
javax.ejb.EJBObject
. If so, they don't
store the object itself (EJBObjects
are not directly serializable),
instead they get the Handle
for the object
and store that instead (Handle
s are serializable).
When the page is next accessed, the Handle
is converted back into an
EJBObject
before assigning
it to the page property.
A side effect of this is that you may not have a Handle
as a
persistant page property; the page
recorders don't have a way to differentiate a Handle
from an
EJBObject
converted to a Handle
and always assume the latter.