1. transactions --> not shared: transactions are associated with threads and again (see 2), if things are all running in its own method scope, we'll have no problems.
2. discarding beans on exception: This seems to be the strongest point... If we use the "multithreaded stateless bean model" (the spec mentioned nothing of it but again, it's something I wonder why), other threads from other calls can potentially wreck the bean. But if we program the bean carefully with regard to its states, everything should just be running in its own method scope. Anyway, I am wondering why the spec doesn't include this, the folks designing the servlet model did.
3. Stateless bean can't implement SessionSynchronization (yes - it's illegal, stated in pg.70 of ejb3.0 core spec.)
4. EJBContext: It's a bit tricky, but I think we could get by with using ThreadLocal to store the context for each
thread. It's a bit murky, but the context can store information such as the corresponding EJBObject of a call based on the thread.