Vývoj na lokále III (Hotswap Agent)

Poslední díl minisérie věnovaný nástroji Hotswap Agent, který umožňuje za běhu aplikace vyměnovať téměř libovolné kusy zdrojového kódu.

Největší výhodou vývoje na lokále je okamžitá kontrola naší práce. Čím dříve chybu odhalíme, tím méně času nás stojí její náprava. V ideálním případě by naše chyby měly odhalit už testy, ne vždy ale je dost dobře možné pokrýt danou situaci testem nebo se chyba projeví až za běhu aplikace. Skvělým pomocníkem je Hotswap Agent, který je schopný za běhu (bez nutnosti restartu) vyměňovat celé kusy zdrojového kódu. Oproti standardnímu hotswapu můžete přidávat/mazat celé metody, přidávat/mazat vlastnosti třídy (fields), cokoli přejmenovat apod.

Instalace

Instalace není nikterak složitá, stačí provést několik následujících kroků:
  1. Stáhnout DCEVM (Dynamic Code Evolution Virtual Machine) Java patch (dostupné na githubu). Musí sedět major verze Javy (7/8) a patch musí být pro vyšší nebo stejnou minor verzi Javy.
  2. Nainstalovat DCEVM (zde jsou 2 možnosti):
    • Replace by DCEVM - nahradí jre/bin/server/jvm.dll za DCEVM, původní JVM je zálohována. Proces je snadno vratný.
    • Install DCEVM as altjvm - vytvoří novou alternativní JVM ve složce jre/bin/dcevm/jvm.dll. Tuto novou JVM lze pak použít pomocí parametru -XXaltjvm=dcevm (viz dále).
  3. Stáhnout Hotswap Agent (též dostupný na githubu). Neinstaluje se, stačí umístit kamkoliv na disk.
  4. Spouštět Tomcat s následujícími parametry
    -XXaltjvm=dcevm -javaagent:your_path\HotswapAgent.jar

Podrobný návod naleznete přímo na stránkách hotswapagent.org nebo na Tirthal’s Java Cafe, kde je popsána i integrace do eclipse.

Srovnání s JRebel

  • Hotswap Agent je open source a je zdarma
  • Hotswap Agent nevyžaduje žádný plugin do IDE
  • JRebel je více vyspělý a s více pluginy

Článek obsahuje 0 komentářů