Nếu bạn muốn tải động thông tin đăng nhập DB. Có thể chỉ trong thời gian Tomcat đang tải context.xml một lần (vì Tomcat chỉ đọc biến môi trường một lần khi khởi động).
Lưu ý rằng trong thời gian chạy, bất cứ khi nào contxt.xml thay đổi tải lại ứng dụng web có liên quan. Tomcat không được khởi động lại.
Vì vậy, mẹo là cung cấp thông tin đăng nhập DB dưới dạng tham số / đối số JVM, như ${catalina.base} ở trên
Có 3 giai đoạn:
-
Khai báo và đặt giá trị cho biến môi trường:
export DB_CREDENTIALS='*****'Nơi tốt là ở tập lệnh đăng nhập người dùng của Tomcat
.bash_profilehoặc Tomcat môi trườngsetenv.sh -
Tạo tham số JVM (biến hệ thống) cho biến môi trường:thêm dòng sau vào
setenv.shtrước dòng cuối cùng.-Denvironment.db.credentials=${DB_CREDENTIALS} \ -
Sử dụng / gọi tham số JVM đã khai báo trong context.xml. Ví dụ:
url="jdbc:postgresql://**********:****/${environment.db.credentials}"