Sunday, December 18, 2016

JRebel pada IntelliJ IDEA

Secara singkat JRebel itu adalah tools untuk java yang bisa mengurangi redeploy time. JRebel ini bisa auto reload class, xml configuration, dan lainnya. JRebel merupakan salah satu produk yang di buat oleh zeroturnaround.

Sayangnya tools ini bersifat berbayar, dan bila ingin sekedar mencobanya disediakan trial selama 14 hari oleh mereka.


Pada aplikasi java biasanya proses compile dan startup aplikasi memakan waktu yang lumayan. Dengan adanya JRebel ini maka proses compile dan startup menjadi berkurang karena pada dasarnya JRebel akan melakukan auto reload class atau xml configuration yang mengalami perubahan saja. Proses auto reload ini dilakukan saat aplikasi sedang running jadi tidak perlu melakukan stop-start atau restart aplikasi.

Kita bisa pasang JRebel sebagai plugin pada IntelliJ IDEA, detail instalasi dan aktivasi nya bisa dilihat pada dokumentasi dari zeroturnaround ( link ).
Pada kesempatan ini saya akan menggunakan Springboot Getting Started Project ( link ) sebagai sample untuk demo.

Prepare Project

Dalam project gs-rest-service terdapat 3 class java yaitu:
  • Application
  • Greeting
  • GreetingController

JRebel Modul

Jika JRebel berhasil di pasang dan aktivasi pada IntelliJ IDEA, kita bisa mengakses JRebel Panel via menu: View > Tool Windows > JRebel


dan berikut tampilan JRebel Panel nya :


Bisa kita lihat ada 2 checkbox, yang pertama adalah untuk modul running via JRebel, sedangkan yang kedua adalah modul debug mode via JRebel.
Kali ini kita centang/pilih yang pertama saja, yaitu running via JRebel. 


Akan muncul pesan JRebel enabled seperti diatas, dan ada file rebel.xml yang digenerate pada project dalam package resources.


File rebel.xml ini berisi seperti berikut:

Configure Running Application

Karena aplikasi akan dirunning via IntelliJ IDEA maka perlu di configur terlebih dahulu.
  • Akses menu Run > Edit Configurations, maka akan muncul window Run/Debug Configuration.
  • Tambahkan konfigurasi baru (Add New Configuration), lalu pilih maven. 
  • Isi bagian Command Line dengan: spring-boot:run 
  • Klik OK


Running via JRebel

Setelah setup dan configurasi beres, saatnya kita running aplikasi via JRebel dengan menggunakan toolbar pada bagian kanan atas IntelliJ IDEA

Akan muncul terminal IntelliJ IDEA dan terlihat proses startup springboot.
Pada class GreetingController berisi code berikut:

Jadi apabila kita akses pada browser dengan url http://localhost:8080/hello akan muncul string Hello...

lalu tanpa kita stop aplikasi, kita rubah code pada GreetingController menjadi seperti berikut:

Jangan lupa untuk melakukan Make Project, bisa di akses via menu: Build > Make Project.

Dan kita akses ulang pada browser dengan url http://localhost:8080/hello yang akan muncul adalah string Hello Nostra Guys...

Jadi dengan menggunakan JRebel ini kita bisa men-skip kegiatan stop-start aplikasi bila terjadi perubahan pada kodingan nya.



No comments:

Post a Comment