dev garden

when technology meets nature

Wygodniejsze tworzenie aplikacji z JavaRebel

| 1 Comment

Jedną z bardziej denerwujacych rzeczy w pisaniu aplikacji Javovych (aplikacji webowych) jest ciągłe redeployowanie aplikacji celem sprawdzenia czy naniesione poprawki lub nowe funkcje działają poprawnie.

W językach skryptowych takich jak PHP, Ruby czy też świeży Grails dzieje się to w pełni automatycznie, zmienię część kodu, przechodzę do przeglądarki odświeżam i cieszę się, że działa (bądź nie).

I w tym miejscu z pomocą przychodzi nam narzędzie JavaRebel (darmowy dla aplikacji open source) firmy ZeroTurnAround.  JavaRebel to agent podpinany bezpośrednio do maszyny wirtualnej który czuwa nad naszymi plikami i gdy zostaną zmienione (ponownie skompilowane) ładuje je na naszym serwerze. Dzięki temu nie musimy przechodzić żmudnego procesu tworzenia pakietu war i jego deployowania (u mnie ponad 10s), zmiany widoczne są niemal od razu.  Po zainstalowaniu odpowiedniej wtyczki możemy bezproblemowo pracować z naszym springowym projektem (Guice, Struts, Wicket i inne również dostępne) a JavaRebel będzie automatycznie wgrywać beany przez nas utworzone (czyta automatycznie wszystkie pliki konfiguracyjne).

Jednak, nie wszystko złoto co się świeci, faktycznie JavaRebel przyśpieszył moją pracę nad projektem i polepszył mój stan psychiczny, nadal jednak brakuje mi czegoś co będzie automatycznie aktualizować pliki JSP. Co prawda ta sama firma wydała również JSPViewer który rozwiązuje ten problem, jednak jego specyfika nie pozwala na użycie go w Springowym projekcie, gdzie wszystkie zapytania są mapowane na wirtualne adresy.

Jeśli ktoś wie, jak rozwiązać ten problem, będę wdzięczny.

Author: darek

Programista, z zamiłowania fotograf. Interesuje się różnymi aspektami programowania oraz językiem Java niemal w każdym jego wydaniu. Amator grejpfrutów oraz dobrego humoru. W wolnych chwilach czyta ciekawe książki(grails, gwt, objective-c) nie tylko informatyczne, ale również popularno naukowe oraz s-f

One Comment

  1. Ciekawy wpis. Właśnie zastanawiałem się ostatnio nad tym problemem. Muszę sprawdzić wspomniane narzędzie.

Dodaj komentarz

Required fields are marked *.

*