For distributed computing using java stack, how can these frameworks or libs can fits in these categories.
- documentation
- adoption
- easy to use and integrate with well widely used technologies like spring, orm and web frameworks
- fault tolerant
- security.
EJBs could replace all these new kids on the block for distributed computing, scalable and fault tolerant system architecture?
EJB 3 are designed to be easy to use and easy to integrate, there is a lot of documentation and they are the Java standard for distributed computing.
The EJB container provides the transaction management and the security based on standard specification. The container itself is provider by many companies with enterprise support or free use (IBM, JBoss, Oracle)
Your software can become fault tolerant without modification to the code is you follow the EJB specs, you can just put the servers in cluster (there are many cluster strategies) and can scale horizontally without effort is you use stateless session beans
The other frameworks/.technologies you mentioned are very valid but none can provide all these features