Java Servlet API 3.0

Dnia wczorajszego na InfoQ o tym, że został udostępniony szkic specyfikacji Servlet API 3.0. Największe nowości to… adnotacje, które będą mogły być użyte w miejsce interfejsów i dziedziczenia.

December 22, 2008 · 2 min · splatch

Typ wyliczeniowy TimeUnit w Javie oraz klasa w PHP

Java od wersji 5.0 zawiera możliwość definiowania typów wyliczeniowych. Jednym z praktycznych przykładów zastosowania tego mechanizmu jest TimeUnit. Enum ten służy do konwertowania jednostek czasu pomiędzy różnymi wielkościami - na przykład z minut na sekundy.

December 9, 2008 · 3 min · splatch

EasyMock i IAnswer, recepta na zachowanie metod

Złym zwyczajem jest modyfikowanie argumentów zamiast zwracania nowej wartości, jakkolwiek trafiają się sytuacje gdy testowany kod powinien weryfikować takie wywołania. W EasyMock mamy do dyspozycji w takim przypadku interfejs IAnswer. Jego użycie jest w miarę proste - dobieramy się do tablicy argumentów i robimy z nią co potrzeba.

December 3, 2008 · 2 min · splatch

Testowanie tablic argumentów z EasyMock

Często zdarza się że metody, które piszemy i później testujemy mają argumenty w postaci tablic. EasyMock wówczas potrafi zgłosić wyjątek, że przekazana tablica jest różna od oczekiwanej mimo, że zawartość tablic jest identyczna.

November 26, 2008 · 3 min · splatch

Uruchom inny język w Javie

Do Javy 6.0 zostało dołączone API ( JSR 223) umożliwiające wywoływanie różnych języków wewnątrz wirtualnej maszyny. Można w ten sposób przesunąć chociażby moment kompilowania kodu na później bądź od razu podpiąć język interpretowany.

November 24, 2008 · 2 min · splatch

Interfejs InitializingBean

Każdy z obiektów który jest konfigurowany w kontekście Springa ma szansę zweryfikować swój stan tuż po zainicjowaniu wszystkich wartości, które zostały mu przekazane. Wynika to z tego, że czasami obiekty potrafią działać na kilku różnych zasobach i można wstrzyknąć do nich tylko jeden rodzaj tegoż. Czasami po prostu potrzebujemy sprawdzić czy są przekazane wszystkie ustawienia konfiguracyjne bądź zainicjować połączenie do bazy danych na podstawie przekazanych parametrów.

November 21, 2008 · 1 min · splatch

Odwołanie do klasy Properties w kontekście springa

Jako, że nie zawsze mam czas pisać dłuższe noty, a nie wszyscy znają Springa postanowiłem publikować krótkie porady, które mogą kiedyś komuś się przydać.

November 20, 2008 · 1 min · splatch

Log4j, przejrzyste komunikaty

Log4j jest najpopularniejszą biblioteką do logowania dla Javy. Została ona wydana już jakiś czas temu i w chwili obecnej rozwija się znacznie wolniej niż kiedyś, warto jednak nadmienić że społeczność wciąż dostarcza nowych możliwości. Może najpierw o samej strukturze log4j.

October 15, 2008 · 4 min · splatch

Spring "Commercial" Source zastępuje Open Source

Pamiętam, jak jakiś już czas temu, kiedy pracowałem w PZU dyskutowałem z kolegą na temat Springa. Obaj podziwialiśmy wówczas jego jakość. Chyba wszyscy ludzie którzy mieli styczność z tym narzędziem przyznają, że jest to na prawdę porządnie napisany kawałek kodu. Połączenie bardzo dobrej dokumentacji oraz duża społeczność sprzyjały cały czas Springowi w odnoszeniu kolejnych sukcesów. Do dnia 17 września, kiedy to SpringSource ogłosiło zmianę zasad - i poniekąd konieczność wykupywania subskrypcji. Wiadomość ta zaiste zelektryzowała społeczność.

September 28, 2008 · 4 min · splatch

Budowanie klienta usługi sieciowej w oparciu o Apache CXF

W nawiązaniu do poprzedniej noty o CXFie, którą napisałem jakiś czas temu, gonię aby uzupełnić brak konfiguracji klienta. Sam proces jest bardzo zbliżony do tworzenia klienta w oparciu o XFire. Nie jest wymagana duża ilość kodu Javy, a w zasadzie tylko dwa pliki XML (client.xml, myservice.xml). Pierwszy z nich odpowiada za wczytanie wymaganych rozszerzeń CXFa oraz definicję bazowej konfiguracji fabryki z interceptorami. W interceptorach możemy skonfigurować logowanie, obsługę załączników czy standardów WS-Security etc. Wszystkie te ustawienia będą dziedziczone, a fabryki docelowych usług będą dodawać tylko adres, do odpytywania. Na koniec bean klienta będzie miał określony autowire by nie przekazywać mu wszystkich własności.

September 3, 2008 · 3 min · splatch