Ensure you know your resources

It is crucial to properly tune the resources (databases, thread pools, and so on). Since Java EE 6, some resources can be defined in the application. For instance, a DataSource can be defined with:

@DataSourceDefinition(        name = "java:app/jdbc/quote_manager",        className = "com.mysql.jdbc.Driver",        url = "jdbc:mysql://localhost:3306/quote_manager",        user = "root",        password = "password")public class DataSourceConfiguration {}

This is often a bad idea since you can't externally configure it (it is hardcoded). Thus, you often end up configuring the resources in server specific files or UI.

This is a good practise to avoid in the application. But outside the application, Java EE doesn't define any way or standard to ...

Get Java EE 8 High Performance now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.