The EJB specification forbids using synchronization primitives within an EJB (Chapter 24.1.2, page 494).
An enterprise Bean must not use thread synchronization primitives to synchronize execution of multiple instances.
There are no synchronization constraints for MBeans, so attributes and operations may be called concurrently and depending on the usage pattern of your MBean, your code should try to be thread safe.