Saya baru mengenal Tomcat
. Kami memiliki mesin dev dengan sekitar 5 aplikasi yang berjalan. Meskipun itu dev, ini digunakan oleh klien kami cukup banyak selama pengujian.
Jadi katakanlah kita perlu membuat satu perubahan kecil pada satu file kelas. Saat ini, kami harus mematikan Tomcat (memengaruhi empat aplikasi lainnya), menghapus WAR
file (dan direktori aplikasi web), menerapkan ulang WAR
file baru, dan memulai ulang Tomcat
.
Tentu saja, ini mengganggu beberapa orang karena menghancurkan semua sesi yang masuk untuk semua aplikasi.
Apakah ada cara yang lebih baik untuk melakukan ini? Maksud saya, apakah ada cara untuk hanya memuat ulang CLASS yang berubah, bukan semua yang ada di mesin dev?
Terima kasih.
tomcat
deployment
war
cbmeeks.dll
sumber
sumber
Jawaban:
Sudahkah Anda mencoba menggunakan aplikasi Manajer Tomcat ? Ini memungkinkan Anda untuk membatalkan penyebaran / menyebarkan file perang tanpa mematikan Tomcat.
Jika Anda tidak ingin menggunakan aplikasi Manajer, Anda juga dapat menghapus file perang dari direktori webapps, Tomcat akan membatalkan penerapan aplikasi setelah beberapa saat. Anda kemudian dapat menyalin file perang kembali ke direktori, dan Tomcat akan menerapkan file perang tersebut.
Jika Anda menjalankan Tomcat di Windows, Anda mungkin perlu mengkonfigurasi Konteks agar tidak mengunci berbagai file.
Jika Anda benar-benar tidak dapat mengalami downtime, Anda mungkin ingin melihat Penerapan Paralel Tomcat 7. Anda dapat menerapkan beberapa versi aplikasi web dengan jalur konteks yang sama pada waktu yang sama. Aturan yang digunakan untuk mencocokkan permintaan dengan versi konteks adalah sebagai berikut:
sumber
Ada beberapa cara mudah.
Cukup sentuh web.xml dari aplikasi web apa pun.
Anda juga dapat memperbarui file jar tertentu di WEB-INF / lib dan kemudian menyentuh web.xml, daripada membuat seluruh file perang dan menerapkannya lagi.
Hapus direktori webapps / YOUR_WEB_APP, Tomcat akan mulai menyebarkan perang dalam 5 detik (dengan asumsi file perang Anda masih ada di folder webapps).
Umumnya menimpa file perang dengan versi baru akan diterapkan ulang oleh tomcat secara otomatis. Jika tidak, Anda dapat menyentuh web.xml seperti yang dijelaskan di atas.
Salin "direktori" yang sudah meledak ke folder webapps Anda
sumber
$CATALINA_BASE/conf/context.xml
. WEB-INF / web.xml dipantau untuk perubahan. Sumber daya lain dapat dengan mudah dicantumkan di sana sesuai kebutuhan.Di direktori conf apache tomcat Anda dapat menemukan file context.xml. Dalam tag edit itu sebagai < Context reloadable = "true" >. ini seharusnya menyelesaikan masalah dan Anda tidak perlu memulai ulang server
sumber