The Enterprise JavaBeans 3.0 core specification, Section 21.1.2, states:

An enterprise bean must not use thread synchronization primitives to synchronize execution of multiple instances.

Synchronization would not work if the EJB container distributed enterprise bean's instances across multiple JVMs.

  • JSR-220 Enterprise JavaBeans 3.0 Final Release (ejbcore), Section 21.1.2 Programming Restrictions