When an EJB3 Timer is created, you can optionally specify information pertaining to the timer. The information object must be serializable. A TimerVo (packaged in the same jar as the EJB) object thats serializable is used as the information. The EJB is first deployed, the timer is correctly created. However if the server is restarted, a ClassNotFoundException for TimerVo is thrown when the previously saved timer is deserialised.