Apache Tomcat 6: Tidak Mau Sering Restart Server?


Salah satu kendala yang sering ditemui dalam kehidupan sehari-hari saat mengembangkan aplikasi JEE adalah
harus sering restart server untuk melihat hasil perubahan di kode program. Pada aplikasi yang besar,
proses undeploy dan deploy mungkin bisa memakan waktu hingga beberapa menit, belum lagi ditambah waktu
restart server. Bagi yang tidak sabaran,
Tomcat 6 menyediakan Manager yang memungkinkan untuk deploy, undeploy, dan reloading aplikasi web
tanpa harus men-shutdown dan me-restart Tomcat. O ya, karena Tomcat hanya mendukung JSP dan Servlet, sementara
perubahan pada JSP dapat langsung terlihat, fitur ini berguna saat melakukan modifikasi terhadap source
Java seperti servlet. Selain itu, Tomcat juga sudah cukup pintar untuk melakukan reloading secara otomatis pada
kasus-kasus tertentu, misalnya jika file web.xml atau file WAR berubah.

Sebelum memulai memakai Manager, aku harus membuat user terlebih dahulu. Secara default, Tomcat akan
mencari informasi user di file CATALINA_HOME/conf/tomcat-users.xml. Saat aku membuka file ini,
isinya masih kosong. Jadi, aku segera menambahkan baris berikut:

<user name="snake" password="solidsnake" roles="manager" />

Setelah melakukan restart server Tomcat, aku dapat melihat status aplikasi dengan link default sebagai berikut:

http://localhost:8080/manager/html

Browser akan meminta username dan password sebelum dapat melihat informasi aplikasi web yang ada. Dari sini,
aku juga me-reload aplikasi yang ada dengan men-klik link yang tersedia. Tentu saja untuk penggunaan sehari-hari,
akan sangat tidak menyenangkan jika harus membuka halaman ini dan men-klik “reload” setiap kali ada perubahan
class Java di folder “classes” dan libary di folder “lib”.

Cara lain yang paling gampang dan otomatis untuk men-reload aplikasi web adalah dengan memberikan URL tertentu di
browser. Sebagai contoh, untuk mendeploy sebuah aplikasi (dan undeploy terlebih dahulu bila sudah di-deploy sebelumnya),
aku dapat memberikan URL berikut di browser:

http://localhost:8080/manager/deploy?path=/LatihanApacheTomcat&
war=file:C:/LatihanApacheTomcat.war&
update=true

Parameter path menunjukkan context path untuk aplikasi yang akan di-reload; parameter war
berisi lokasi file WAR terbaru (file ini harus berada di host yang sama dengan server Tomcat) atau bisa juga
path yang merujuk ke exploded directory untuk aplikasi web;
dan parameter update bernilai true yang berarti aku ingin melakukan undeploy jika aplikasi sudah
di-deploy sebelumnya. Jika proses berlangsung dengan sukses, aku akan mendapatkan respon berikut:

OK - Undeployed application at
  context path /LatihanApacheTomcat
OK - Deployed application at
  context path /LatihanApacheTomcat

Jika tidak menggunakan WAR melainkan exploded directory, maka aku dapat melakukan reloading dengan
menggunakan URL seperti berikut:

http://localhost:8080/manager/reload?path=/LatihanApacheTomcat

Perihal Solid Snake
I'm nothing...

One Response to Apache Tomcat 6: Tidak Mau Sering Restart Server?

  1. Fairy mengatakan:

    Is that also working on Linux like Ubuntu?? I mean the settings…
    Thanks🙂

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: