2013-07-12 36 views
9

Ten wątek jest podobny do: Disable taglib scanning in google app engine (Jetty)wyłączyć skanowanie TLD przy inicjalizacji interfejsu App Engine

Autor tego wątku przyjął błędną odpowiedź.

Staraliśmy się zmniejszyć czas uruchamiania aplikacji moich instancji, które przeszedłem przez skanowanie ścieżek klasy TLD taglib.

Moja aplikacja ma 50 MB słoików. Skanowanie TDU zajmuje 20% czasu uruchamiania:

enter image description here

(obrazu z YourKit chwytania chwili startu). Możesz także ustawić poziom logger.properties na WSZYSTKO, a zobaczysz problem ze skanowaniem ścieżki klas.

Czy istnieje sposób, aby wyłączyć to na appengine? Niech Bóg zabrania nam mieć coś wspólnego z taglibs, JSP lub czymkolwiek podobnym! Posiadamy pojemnik z bardzo dużą prędkością + sprężyna-mvc.

Ponownie, problem jest bardzo jasne: AppEngine nie szanuje „org.mortbay.jetty.webapp.NoTLDJarPattern” konfiguracja w web.xml

Ta sprawa jest zabijanie naszych usług! Nasz czas rozruchu przekracza 60 sekund i musimy zrobić wszystko, aby to zmniejszyć.

+0

Czy zgłosiłeś już problem w projekcie appengine? https://code.google.com/p/googleappengine/ – sappenin

+3

Wystarczy przeczucie, ale czy próbowałeś zmienić nazwy swoich plików JAR, aby pasowały do ​​'NoTLDJarPattern' używanego przez [AppEngine's webdefault.xml] (https://code.google.com /p/appenginejava/source/browse/trunk/src/com/google/appengine/tools/development/webdefault.xml#42)? Nie jest ładna, ale może nazywa się wszystkie twoje pliki JAR, np. 'pomost - (...). jar' pomaga. Alternatywnie przepakuj wszystkie pliki JAR w jeden duży plik JAR i nadaj mu nazwę "NoTLDJarPattern" AppEngine. –

+0

Philipp, nie próbowałem tego. Używam programu maven do spakowania mojego projektu, wydaje się to trudne. Czy przypadkiem tego nie spróbowałeś? –

Odpowiedz

1

zamieszczaniu mój komentarz z góry za odpowiedź:

zmienić nazwę JAR dopasować NoTLDJarPattern wykorzystywane przez AppEngine's webdefault.xml.

To nie jest ładne, ale nazywanie wszystkich JARów, np. jetty-(...).jar powinny uniemożliwić skanowanie przed TLD.

Alternatywnie, przepakuj wszystkie JARy w jeden duży JAR i nadaj im nazwę pod nazwą AppEngine: NoTLDJarPattern.