2013-07-12 18 views
9

Questo thread è simile a: Disable taglib scanning in google app engine (Jetty)Disabilita TLD scansione a appengine inizializzazione

L'autore di quel filo accettato una risposta sbagliata.

Stavamo cercando di ridurre il tempo di avvio appengine delle mie istanze che ho attraversato la scansione del classpath Taglio TLD.

La mia applicazione ha 50 MB di barattoli. La scansione del tld prende il 20% del tempo di avvio:

enter image description here

(Immagine da cattura Yourkit del tempo di avvio). È anche possibile impostare il livello logger.properties su ALL e verrà visualizzato il problema di scansione del percorso classe.

C'è un modo per disattivarlo su Appengine? Dio ci proibisce di avere qualcosa a che fare con taglibs, JSP o qualcosa del genere! Abbiamo un velocissimo volume + contenitore molla-mvc.

Anche in questo caso, la questione è molto chiara : appengine non rispetta "org.mortbay.jetty.webapp.NoTLDJarPattern" configurazione in web.xml

Questa cosa sta uccidendo il nostro servizio! Il nostro tempo di avvio supera i 60 secondi e dobbiamo fare qualsiasi cosa per ridurlo.

+0

Hai già presentato un problema nel progetto Appengine? https://code.google.com/p/googleappengine/ – sappenin

+3

Solo un sospetto, ma hai provato a rinominare i tuoi JAR in modo che corrispondessero a "NoTLDJarPattern" utilizzato da [WebEngine.xml] di AppEngine (https://code.google.com). /p/appenginejava/source/browse/trunk/src/com/google/appengine/tools/development/webdefault.xml#42)? Non è bello, ma forse nominare tutti i tuoi JAR, ad es. 'jetty - (...). jar' aiuta. In alternativa, riconfeziona tutti i JAR in un grosso JAR e dai un nome coperto da NoTLDJarPattern di AppEngine. –

+0

Philipp, non ci ho provato. Uso Maven per impacchettare il mio progetto, sembra difficile farlo. Qualche possibilità che ci abbia provato? –

risposta

1

Distacco mio commento dall'alto come risposta:

Rinominare il JAR per abbinare il NoTLDJarPattern usato da AppEngine's webdefault.xml.

Non è bello, ma nominare tutti i vostri JAR, ad es. jetty-(...).jar dovrebbe impedire la scansione di TLD.

In alternativa, riconfezionare tutti i JAR in un unico grosso JAR e assegnare semplicemente un nome coperto da AppEngine NoTLDJarPattern.