You must remove nonserializable state in ejbPassivate.
See the spec for the full lifecycle.
I thought this may be the issue, so I checked the spec prior to
posting. On page 77, when listing the data types that are valid
for passivation it says..
• A reference to the environment naming context
(that is, the java:comp/env JNDI context) or any of its subcontexts.
Since my instance variable is set thus;
myInitialContext = new InitialContext();
I thought I was OK - have I misunderstood?