This might be a hard pill to swallow...but it's going to be highly dependent on your app server.
Java EE is just a set of annotations with several different vendors implementing the standard in an app container.
I would look at the docs for whatever your employer is using.
A lot of it comes down to knowing some basic fundamentals about web development. For example: Load balancing/HA can be done in several different ways not tied to Java EE, the same is true of any of the things you're mentioning.
Largely, HA can be done with your app server. An API is just REST which means the jaxrs implementation.
Multi threading dynamics are typically app server specific. Generally "let your container do it" is the right answer though.
Source: Been doing java since spring 2.0 as well as dealing with app servers ranging from glassfish to jboss (now wildfly).