- Java EE 8 High Performance
- Romain Manni Bucau
- 256字
- 2021-06-30 19:14:30
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 configure the server. Everything is vendor specific. However, you will need to tune it! For that reason, it is crucial to ensure you know:
- What kind of resources your application needs
- How to create them and configure them in your server
This is a great start for the application side but resources are generally linked to an external side like a database. Here again, it will be very important to know the resource itself, how it is configured and potentially how to tune it if needed. A very simple example is the number of connections you can use on a database. If you can only use 20 connections, no need to configure 100 in the application, this would generate a lot of errors and slow down the application, or just make it fail depending on how the pool is configured.
- Linux運維之道(第3版)
- 阿里云數字新基建系列:云原生操作系統Kubernetes
- Windows Server 2012 Hyper-V Cookbook
- Ubuntu Linux操作系統
- Linux使用和管理指南:從云原生到可觀測性
- INSTANT Migration from Windows Server 2008 and 2008 R2 to 2012 How-to
- 計算機應用基礎(Windows 7+Office 2016)
- AWS SysOps Cookbook
- VMware Horizon View Essentials
- Linux系統最佳實踐工具:命令行技術
- Learn CUDA Programming
- 從實踐中學習Windows滲透測試
- Azure Serverless Computing Cookbook
- 深入理解Android:卷III
- Windows 10從入門到精通