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_profile
hoặ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.sh
trướ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}"