Eclipse WTP vs sydeo, „obsługuje moduły bez publikacji”

103

Mam problem ze znalezieniem wydajności wtyczki sysdeo za pomocą zintegrowanej wtyczki WTP eclipse.

Aby dokonać migracji, a tym samym porównania, zainstalowałem oba na osobnych projektach w ramach zaćmienia.

Zauważyłem różnicę w produktywności, zgodnie z tym, co zrozumiałem: WTP musi publikować źródła w kompilacji katalogu, aby Tomcat miał je w aranżacji. To „pulish” jest długie: potrzebne jest ponowne naładowanie kontekstu, aby modyfikacje były widoczne. (5 suchych na większości stoczni 15 sekund - 20 sekund najdłużej).

Sysdeo no; celuje w katalog eclipse konsekwentnie buduje wewnętrznie w projekcie, gdy tylko modyfikacja zostanie dokonana przez plik, kompilacja eclipse i te modyfikacje są dostępne natychmiast (F5 w przeglądarce i natychmiast mamy wynik).

Oto moja konfiguracja serwera:

Opcja „Obsługuje moduły bez publikowania” pozwala zrobić dokładnie to, co sprawia, że ​​sydeo: wybrać katalog budowania uruchomionego projektu. Ta konfiguracja wyraża się w pliku kontekstu. (Jest to, aby móc odzyskać to, co zaznaczyłem "Publikuj moduluje konteksty w celu serparowania wierszy XML")

Porównanie tych plików:

  • Oto plik kontekstu do wygenerowania przez sysdeo
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
  • Kontekst pliku do wygenerowania przez WTP

<? xml version = "1.0" encoding = "UTF-8"?> <Context docBase = "D: \ 32bit \ servur32bit \ workspace \ tatoile \ web" path = "/ tatoile" reloadable = "true" source = "org .eclipse.jst.jee.server: tatoile "> <Resources className =" org.eclipse.jst.server.tomcat.loader.WtpDirContext "extraResourcePaths =" / WEB-INF / classes | D: \ 32bit \ servur32bit \ workspace \ tatoile \ build \ classes "virtualClasspath =" D: \ 32bit \ servur32bit \ workspace \ tatoile \ build \ classes "/> <Loader className =" org.eclipse.jst.server.tomcat.loader.WtpWebappLoader "useSystemClassLoaderAsParent =" false " virtualClasspath = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes" /> <JarScanner scanAllDirectories = "true" /> </ Context>

Później przeanalizuj te dwa pliki.

Wróćmy teraz do problemu. Używam tego samego serwera, w konsekwencji oba pliki kontekstu powyżej są zdefiniowane dla tego. Doświadczenie: Uruchamiam tomcat przez wtyczkę sysdeo, obciążenia w dwóch kontekstach są ustawiane jako jeden konfigurujący sposób WTP, drugi przez sysdeo. Oba autorytety reagują w ten sam sposób, modyfikacje są natychmiastowe w tatoile _syseo i tatoile.

Z drugiej strony uruchamiam tomcat poprzez wtyczkę WTP (serwer kart itp.) W eclipse, modyfikacje nie są od razu dokonywane w obu projektach tatoile _syseo i tatoile. Uwaga: Automatyczne przeładowanie musi być koniecznie ustawione na Włączone, aby modyfikacje zostały uwzględnione. (Kiedy serwer wskazuje nam, że przeładował kontekst, możemy zobaczyć modyfikacje).

wprowadź opis obrazu tutaj

Wychodzę z tego, że konfiguracja kontekstów nie jest powodem, a raczej sposobem, w jaki wtyczka uruchamia tomcat; i tam lub ja suszymy…

Oto projekt WTP:

wprowadź opis obrazu tutaj

Vsplit
źródło
5
Czy masz problem z Sysdeo lub WTP? OTOH Z pewnością WTP będzie potrzebować więcej czasu na zmiany, ponieważ jest to, co zrobi, aby ponownie opublikować: (1) klasy kompilacji (2) cofnięcie wdrożenia starej aplikacji internetowej (3) skopiowanie wyniku kompilacji do folderu wdrażania tomcat (4) tomcat automatycznie uruchomi aplikacja. Tymczasem w sysdeo klasy w pamięci RAM są modyfikowane w locie, gdy tylko zostaną wprowadzone zmiany (zidentyfikowane przez nową datę w plikach klas). Następnie istnieją pewne ograniczenia zmian, których nie można wprowadzić w locie (po dodaniu nowych metod zmienia się również struktura klas), w tym przypadku będzie to ostrzeżenie.
Użyłem zarówno Sysdeo, jak i WTP w tym samym projekcie. Najbardziej znaczącą różnicą, jaką zauważyłem, było to, że konfiguracja Sysdeo wydawała mi się łatwiejsza, ale może to być stronnicze.
Markus,
2
Problem został rozwiązany poprzez dodanie MAVEN z wdrożeniem WTP. Brak problemów z wydajnością. Żadnych problemów z wydajnością i nie
aktywuję opcji
1
Jeśli rozwiązałeś problem, czy możesz opublikować odpowiedź?
Anubian Noob
@AnubianNoob tak, kiedy wyjaśniłem to w moim poprzednim poście. Rozwiązałem problem za pomocą konfiguracji maven.
Vsplit

Odpowiedzi:

3

Odpowiedź cytowana z @Vsplit

Problem został rozwiązany poprzez dodanie MAVEN z wdrożeniem WTP. Żadnych problemów z wydajnością ... i nie aktywuję modułów obsługujących bez publikacji

Marko
źródło
-1 To nie jest odpowiedź. dodaj odpowiedź, podając więcej szczegółów.
Isaac G Sivaa
1
Witam, przepraszam za spóźnioną odpowiedź. Ale jak musisz zauważyć, nie mogę rozwiązać problemu związanego z wtyczką Sysdeo. Ale używam wtyczki Maven z wdrożeniem WTP. Możesz zobaczyć ten przykładowy samouczek youtube.com/watch?v=YeC7XQho-O0
Vsplit
2

poszukaj na rynku wtyczek darmowej wtyczki o nazwie m2e-wtp. To zajmie się podanymi kwestiami dotyczącymi zakresu. Jeśli chodzi o klasy, które nie są wdrażane, zwykłe miejsca, na które patrzę, to zestaw wdrażania i / lub ścieżka budowania Java. Upewnij się, że wszystkie wpisy (i moduły zależne) są tam wszystkie i znajdują się we właściwym miejscu.

Shrinidhi Krishnakumar
źródło