piątek, 26 lutego 2010

Jboss 6.0 M2

Pojawiła się druga odsłona kolejnej wersji jboss'a. Co nowego niesie ze sobą. W skrócie servlet 3.0, Jpa 2 oraz resteasy. W sumie mi do pełni szczęścia brakuje jeszcze ejb3.1 w szczególności adnotacji @Singleton na enterprise beans.

Dzięki obsłudze servlet 3.0 oraz cdi (którego implementacja znalazła się w M1) zdecydowałem zrezygnować z google-guice w moim projekcie. Guice wykorzystuje głównie bioblioteka gwt-dispatch. Z racji tego że nie lubię korzystać ze zbyt wielu bibliotek zewnętrznych (utrudnia to maintenance) a guice był wymuszony poprzez gwt-dispatch postanowiłem napisać podobne rozwiązanie do gwt-dispatch tylko bazujące na servlet 3.0 oraz CDI. Jak będzie skończone zapewne coś o tym napisze.

Teraz natomiast chciałem napisać o czymś innym. Mianowicie zaraz po ściągnięciu i uruchomieniu M2, jboss wstał w czasie nie przekraczającym 30 sekund. Na moim sprzęcie "czysty" jboss jeszcze nigdy tak szybko nie wstawał. Pomyślałem więc że po zainstalowaniu mojej aplikacji również doświadczę przyspieszonego startu. Jakież było moje zdziwienie kiedy po deployu czas ten wydłużył się do circa 2 minut 40 sekund. Nie muszę wspominać że tak długo żaden jboss z moją aplikacją mi nie wstawał.

Problem tkwił właśnie w servlet 3.0, otóż mój ear zawiera a jakże war'a a ten w WEB-INF/lib zawiera sporo jarów. Podczas startu jboss skanuje wszystkie te jary i sprawdza czy nie ma w nich adnotacji charakterystycznych dla servlet 3.0. I to właśnie zabiera mu trochę czasu.

Teraz jeszcze nie używam servlet 3.0 więc interesuje mnie całkowite wyłaczenie skanowania w war. Aby to zrobić należy w katalogu WEB-INF umieścić plik jboss-scannning.xml o następującej treści :

<scanning xmlns="urn:jboss:scanning:1.0">
 <!-- Purpose:  Disable scanning for annotations in contained deployment. -->
 </scanning>


Oczywiście można w pełni kontrolować proces skanowania. Na razie ja wyłączam go całkowicie.

Pełny opis struktury tego pliku jest dostępny na stronach wiki jboss'a

Brak komentarzy:

Prześlij komentarz