Well, it's a bit of a grey area. Section 24.1.2 of the EJB 2.0 spec says
"� An enterprise Bean must not use
thread synchronization primitives to synchronize execution of multiple instances.
Same reason as above. Synchronization would not work if the EJB Container distributed enterprise bean�s instances across multiple JVMs."
This is the only statement about synchronization primitives in the spec that I know of. In fact, the usual
test for this is to make sure that none of the EJB methods themselves implement synchronized, no vendor that I know of will check the call trees descending from the bean.
Kyle