Có hai biến môi trường - CATALINA_OPTS
và JAVA_OPTS
- đều được sử dụng trong tập lệnh khởi động và tắt catalina.sh cho Tomcat. Chúng được mô tả trong các nhận xét trong tệp đó là:
[JAVA_OPTS]: (tùy chọn) Tùy chọn thời gian chạy Java được sử dụng khi lệnh "bắt đầu", "dừng" hoặc "chạy" được thực thi
và
[CATALINA_OPTS]: (tùy chọn) Tùy chọn thời gian chạy Java được sử dụng khi lệnh "bắt đầu" hoặc "chạy" được thực thi
Vậy tại sao lại có hai biến khác nhau? Và sự khác biệt là gì?
Thứ nhất, bất cứ thứ gì được chỉ định trong biến EITHER đều được chuyển, giống hệt nhau, tới lệnh khởi động Tomcat - lệnh "start" hoặc "run" - nhưng chỉ các giá trị được đặt trong JAVA_OPTS mới được chuyển cho lệnh "stop". Điều đó có lẽ không tạo ra bất kỳ sự khác biệt nào đối với cách Tomcat chạy trong thực tế vì nó chỉ ảnh hưởng đến phần cuối của một lần chạy chứ không phải lúc bắt đầu.
Sự khác biệt thứ hai là tinh tế hơn. Các ứng dụng khác cũng có thể sử dụng JAVA_OPTS, nhưng chỉ Tomcat mới sử dụng CATALINA_OPTS. Vì vậy, nếu bạn đang đặt các biến môi trường chỉ để Tomcat sử dụng, tốt nhất bạn nên sử dụng CATALINA_OPTS, trong khi nếu bạn đang đặt các biến môi trường để các ứng dụng java khác, chẳng hạn như JBoss, bạn nên đặt cài đặt của bạn trong JAVA_OPTS.
Nguồn: CATALINA_OPTS v JAVA_OPTS - Sự khác biệt là gì?