When a session fails over, any references to open files or network connections are lost. Applications must be coded with this restriction in mind.
You can only bind certain objects to distributed sessions that support failover. Contrary to the Servlet 2.4 specification, Sun GlassFish Enterprise Server does not throw an IllegalArgumentException if an object type not supported for failover is bound into a distributed session.
You can bind the following objects into a distributed session that supports failover:
Local home and object references for all EJB components.
Colocated stateless session, stateful session, or entity bean reference .
Distributed stateless session, stateful session, or entity bean reference.
JNDI Context for InitialContext and java:comp/env.
UserTransaction objects. However, if the instance that fails is never restarted, any prepared global transactions are lost and might not be correctly rolled back or committed.
Serializable Java types.
You cannot bind the following object types into sessions that support failover:
JDBC DataSource
Java Message Service (JMS) ConnectionFactory and Destination objects
JavaMail™ Session
Connection Factory
Administered Objects
Web service reference
In general, for these objects, failover will not work. However, failover might work in some cases, if for example the object is serializable.