Blog

Effizienter und stressfreier Arbeiten dank JRebel

Wer kennt das nicht? Einen Teil der Arbeit verbringt man leider noch immer damit, auf seinen Rechner zu warten. Das Booten sowie Anmelden macht man in der Regel nur einmal am Tag und kann somit vernachlässigt werden. Eine langsame Entwicklungsumgebung oder ein regelmäßiges Starten von Applikationsservern hingegen können einem den ganzen Tag vermiesen.

Bei einem unserer aktuellen Kunden wurden alle Mitarbeiter mit neuen Rechnern ausgestattet, was ein zügiges Arbeiten mit der Entwicklungsumgebung ermöglicht. Doch wie kann man das permanente Neustarten des Applikationsservers vermeiden?

Dieses Problem kann mit dem Produktivitätstool JRebel behoben werden.  JRebel kann in der Java EE Entwicklung eingesetzt werden und ermöglicht dem Classloader, Klassen dynamisch nachzuladen.

Derzeit setzen wir beim Kunden JRebel in einer auf Spring MVC und Spring Web Flow basierenden Webanwendung ein. Deployen wir diese einmalig auf unserem Tomcat, macht JRebel, durch transparentes Tauschen von Klassen in der JVM, ein weiteres Redeployen überflüssig.

Sehr reizvoll ist vor allem die leichte Integration von JRebel. Nach dem Ausführen des Installers erklärt ein Wizard alle nötigen Anpassungen in der Entwicklungsumgebung. In unserem Fall wird ein Eclipse Plug-in installiert, für den Debugmodus werden Filter gesetzt und die Serverkonfiguration wird für eine Unterstützung von JRebel angepasst.

Im Projekt muss lediglich im Src-Verzeichnis eine rebel.xml Datei mittels Plug-in erzeugt werden. Das ist alles.

Ab dann kann man sich beim Ändern von Klassen und deren Aufruf dieser über folgende Meldung in der Konsole freuen und munter am Projekt weiterarbeiten, ohne auf das Redeployen oder ein Neustarten des Servers warten zu müssen.

JRebel: Reloading class 'de.holisticon.web.usecase.changeCustomerData.ChangeAddressController'.
JRebel-Spring: Reconfiguring bean 'changeAddressController' [de.holisticon.web.usecase.changeCustomerData.ChangeAddressController]

Als nicht zu vernachlässigender Benefit für den Kunden, arbeiten wir so auch noch effizienter.

Eine Übersicht, welche Entwicklungsumgebungen, Laufzeitumgebungen, Frameworks etc. JRebel unterstützt, ist hier zu finden.

Den Download und weitere Information gibt es auf der Herstellerseite.

Über den Autor

Avatar

Mr Norman Erck M.Sc. started developing websites as a teen in 1999 driven by his fascination for the possibilities of the rising e-business technologies. He is now a certified ScrumMaster and Enterprise- Software-Architect who has worked on e-business projects for over seven years. He takes the role of a scrum master and architect for IT projects in large companies. He is a speaker on conferences about CDI as well.

Ein Kommentar

Antwort hinterlassen