If you think about it, what state could a stateful session been have that it
would need to explicitly persist during passivation?   Don't forget, all its
non-transient instance variables will be persisted by the container.  The
rule is that after the call to ejbPassivate(), any non-null instance
variables must be references to serializable objects, or other bean
remote/home references, jndi context, etc - all of which the container will
save and restore.

Given all the other restrictions on ejbs, its pretty hard to accumulate much
in the way of non-serializable state, i.e. no file i/o streams, etc.   In
general any non-serializable state that a bean might have is better off
being reduced to serializable state (or nullified) in ejbPassivate() and
reconstructed in ejbActivate().  Most non-serializable state you wouldn't
want to persist anyway since it usually represents connections to resources
that would be wasteful to keep during the passivation interval (e.g. network
or db connections).


>   If EJBs are not supposed to do file I/O, but stateful session beans
should sae
> their state in a persistent store when they are passivated (which I
believe is
> because the container might crash while the bean is passivated, though it
it is
> written to secondary storage by the container I don't see the need -- what
is up
> with this?), then how is the session bean supposed to sae iuts state?
Unless
> the requirement is to use a database,which would be rather onerous I
think,
> there is a conflict here between what you should do to passivbate a bean
and
> what you're not suppose dto do.  How is this supposed tobe resolved?
Thanks.
>

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to