Lista artykułów w kategorii: JavaEE


Java NIO.2

Java NIO, czyli New Input/Output lub Non-blocking Input/Output jest dostępne od Javy 1.4 (JSR-51). Wraz z wydaniem Javy w wersji 7 API zostało znacząco rozbudowane – światło dzienne ujrzała implementacja NIO.2 (JSR-203). Dwie najistotniejsze zmiany wydane wraz z NIO.2 to asynchroniczne (nieblokujące) I/O oraz API dostępu do systemu plików (klasy z pakietów java.nio.file i java.nio.file.attribute). Poza tym dopracowano funkcjonalność już wcześniej dostępną w NIO (m.in. bufory, sockety).


Wprowadzenie do JEE6

Specyfikacja JEE6 została opublikowana pod koniec 2009 roku. Obecnie jest wspierana przez wszystkie liczące się serwery aplikacyjne. Specyfikacja nie jest rewolucją w JEE tak jak miało to miejsce w przypadku wydania specyfikacji JEE5 – jest raczej bardzo przemyślaną ewolucją i kontynuacją zmian mających na celu uproszczenie wytwarzania aplikacji. W specyfikacji pojawiły się między innymi JSF 2.0, Servlets 3.0, JPA 2.0, EJB 3.1, Bean Validation oraz CDI (Context and Dependency Injection).


Wprowadzenie do Maven’a

Wielką zaletą języka Java jest jego elastyczność. Oznacza to między innymi, że nikt nie mówi nam gdzie mają być nasze źródła, do jakiego katalogu mają trafić binarki ani gdzie mamy mieć umieszczone pliki propertiesów czy biblioteki zewnętrzne. Poza drobnymi ograniczeniami specyficznymi dla pewnych rodzajów rozwiązań możemy zazwyczaj sami zdefiniować praktycznie całą strukturę projektu według własnych potrzeb i upodobań. Do tego mamy jeszcze dowolność w wyborze sposobu budowania aplikacji – możemy zbudować projekt z poziomu IDE, z linii poleceń lub użyć dedykowanych narzędzi do budowania.


PRAKTYCZNY ENVERS

Envers jest dodatkiem do Hibernate’a pozwalającym na automatyczne zapisywanie historii zmian encji (audytu). Envers używa pojęcia rewizji – co oznacza, że każda zmiana dowolnej (audytowalnej) encji tworzy nową rewizję. Nowy rekord jest zapisany do tabeli, a na podstawie starego zostaje utworzona rewizja i zapisana do dodatkowej tabeli wraz z poprzednimi wartościami.


OSGi bez irytacji

Niedawno, tworząc pluginy do JIRA, natknąłem się na dość irytujący problem, który objawiał się dziwnymi komunikatami o niemożności zaimportowania niektórych pakietów. Ponieważ pluginami tymi są moduły OSGi, postanowiłem nieco zgłębić to zagadnienie.


Hibernate i efektywne sekwencje

Do napisania kilku słów na temat optymalizacji używania generatorów w Hibernate 3 natchnął mnie kolega z pracy Krzysiek – prawdziwy specjalista Oracle i tropiciel motocyklistów w białych pantoflach 🙂 (użyłem określenia „tropiciel”, w celu podkreślenia swobodnego charakteru tej publikacji i zwiększenia percepcji treści merytorycznych wśród czytelników; ma to oczywiście związek z pewnym zabawnym wydarzeniem ale nie o tym będzie tutaj mowa).