Suche

Netty 4.0.0 CR5 bricht Abwärtskompatibilität

Hartmut Schlosser

Netty 4.0.0 CR5 ist erschienen. Dabei handelt es sich nicht, wie man vermuten könnte, um ein kleines Maintenance Release. Im Gegenteil machen  bedeutende API-Veränderungen der Abwärtskompatibilität zu früheren Netty-Releases den Garaus.

Grund für diese Neujustierung des API ist die Tatsache, dass die jüngsten „Verbesserungen“ in Netty 4 wohl den Speicherverbrauch erhöht anstatt, wie intendiert, gesenkt haben. Auf dem Netty-Blog erklärt Trustin Lee, dass das Verhalten von Netty 4, für jede Verbindung per Default pro Handler einen Buffer zuzuweisen, verantwortlich für diese Performance-Probleme sind bzw. waren. Zudem erhöhte sich der Memory Footprint vor allem für modulare Anwendungen mit einer großen Anzahl von Handlern, die Verbindungen für relativ kurze Zeiten aufrecht erhielten.

Um dieses Problem zu beheben wurde entschieden, zur Art und Weise zurückzukehren, wie Message Events im Netty 3.x-Entwicklerungszug behandelt wurden. Keinen Unterschied zwischen MessageBuf und ByteBuf mehr, ByteBuf bekommt nicht mehr einen eigenen Handler zugewiesen. Die Typenhierarchie von ChannelHandler nimmt sich dann wie folgt aus (Bild und detaillierte Erklärung siehe Netty-Blog):

Netty

Abgesehen von diesen API-Veränderungen wurden alle „guten“ Entwicklungen des Netty-4-Zuges, wie beispielsweise das bessere Thread-Modell, beibehalten. Die Liste der kleineren und größeren Fixes gibt es in den Release Notes nachzulesen. Angepasst wurde übrigens auch bereits die Dokumentation zu Netty 4.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: