How can I tell if EJB 2 is still supported? Is it specific to application server? Or a general decision? For WAS 8.5 I have found this link, but I'm not sure if it's saying the only 3.1 is supported or everything up to 3.1 is supported.
2 Answers
The EJB 3.2 specification (and EJB 3.0 and and EJB 3.1) still requires implementations to support EJB 2.x-style component interfaces, so any implementation that claims EJB 3.2/3.1/3.0 compliance will support EJB 2.x. (That said, EJB 3.2 does allow vendors to implement a subset known as EJB 3.2 Lite, which does not include support for EJB 2, so you'll need to check your vendor documentation.)
That link for WebSphere Application Server 8.5 explicitly states:
However, support for specifications is compatible with earlier versions of the product; the Version 8.5 product supports all specifications that are listed for Version 6.0 through Version 8.5. For example, for any application type, the Version 8.0 product supports Java EE 5 and 6 and J2EE 1.2, 1.3, and 1.4.
The WebSphere Application Server full profile has full support for EJB 1.1, 2.0, 2.1, 3.0, and 3.1. Additionally, the Liberty profile has support for EJB 3.2 (excluding support for entity beans and JAX-RPC, which are optional as of EJB 3.2).

- 33,593
- 2
- 85
- 90
EJB version need not be specific to any application server. Entity EJBs are generally coded as EJB 2.1 (though there are other better ways like hibernate, java persistence API, etc to achieve the same thing).
Since EJB is an industry wide specification, still being used profusely, any application server worth its salt should support it.
I know for sure WAS and JBoss do, since i have been using them.

- 2,931
- 7
- 27
- 39