...
JRebel-Licensing-myJRebel: Contacting myJRebel server ..
...
JRebel คืออะไร มันเป็นเครื่องมือตัวหนึ่ง ที่เอามาผูกการทำงานเข้ากับ java container (tomcat, weblogic, websphere ฯ) แล้วทำให้ code ที่เราเขียนจะถูก reload ให้เลย ไม่ต้องสั่ง stop/start container นั้นใหม่ ประหยัดเวลามาก ถึงมากที่สุด
ส่วนวิธีใช้ลองไปศึกษา JRebel พลางๆที่ website ของ JRebel นะครับ
เข้าเรื่องดีกว่า วิธีแก้ไข
ทดลองเปิด debug log โดยใส่ java parameter (JAVA_OPTS) เข้าไป -Xdebug -Drebel.log=debug แล้วไปดู jrebel.log โดยมันจะถูกสร้างเอาไว้ที่ /Users/siritas_s/.jrebel
ก็ยังไม่เจออะไรนอกจากเห็นว่ามันโหลด plugins มากมายเต็มไปหมด (น่าจะเป็น plugin สำหรับให้มัน reload classes ของ framework เจ้าดังๆได้ถูกต้อง)
และจากที่ไปลองค้นๆอ่านๆใน forum support ของ jrebel เค้าแนะนำให้
* โหลด version nightly มาใช้ หรือ/และ
* ทดลองปิด plugin ทั้งหมดดูก่อน ทำได้โดยการใส่ option rebel.load_embedded_plugins=false ใน jrebel.properties
การปิด plugin ทั้งหมด
Modify .jrebel/jrebel.peoperties:
...
rebel.load_embedded_plugins=false
...
เห้ย..ย ได้ผล! jrebel กลับมาใช้งานได้อีกครั้ง วิ่งผ่าน Contacting myJRebel server .. แล้วแสดง banner ได้เหมือนปกติ
...
015-02-04 15:47:53 JRebel:
2015-02-04 15:47:53 JRebel: #############################################################
2015-02-04 15:47:53 JRebel:
2015-02-04 15:47:53 JRebel: JRebel Legacy Agent 6.1.0-SNAPSHOT (201502032154)
2015-02-04 15:47:53 JRebel: (c) Copyright ZeroTurnaround AS, Estonia, Tartu.
2015-02-04 15:47:53 JRebel:
2015-02-04 15:47:53 JRebel: Over the last 6 days JRebel prevented
2015-02-04 15:47:53 JRebel: at least 14 redeploys/restarts saving you about 0.6 hours.
2015-02-04 15:47:53 JRebel:
...
หลังจากนั้นมาแก้ตัว parameters ที่ใส่ให้ jrebel.jar เพื่อเปิดใช้เฉพาะ plugin ที่ต้องการใช้
ของเดิมของผมเป็นแบบนี้ (คือโหลด plugins ทุกตัวที่ default มาให้)
...
export JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxPermSize=256m \
-Dapple.awt.UIElement=true -Djava.awt.headless=true \
-javaagent:lib/jrebel.jar \
-javaagent:lib/aspectjweaver.jar \
-Xdebug -Drebel.log=false
...
ผมใช้ springframework, log4j 1.2 จึงเปลี่ยนเป็นแบบนี้
...
export JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxPermSize=256m \
-Dapple.awt.UIElement=true -Djava.awt.headless=true \
-javaagent:lib/jrebel.jar \
-javaagent:lib/aspectjweaver.jar \
-Xdebug -Drebel.log=false \
-Drebel.fsnotify_intellij_plugin=false \
-Drebel.aspectj_plugin=true -Drebel.log4j_plugin=true \
-Drebel.spring_plugin=true -Drebel.tiles1_struts_plugin=true
...
เท่านี้ก็กลับมาใช้ JRebel ได้เหมือนเดิมแล้ว ^^ blog เป็นภาษาไทยในใจก็คิดว่าจะมีคนไทยซักกี่คนที่ใช้ JRebel เหมือนผมเนี่ย..ย ใครใช้ก็มาแลกเปลี่ยนประสบการการใช้งานกันได้นะ
ไม่มีความคิดเห็น :
แสดงความคิดเห็น