---
title: 'Buchkritik Pro Jakarta Commons'
url: 'https://tutego.de/blog/javainsel/2010/05/buchkritik-pro-jakarta-commons'
markdown: 'https://tutego.de/blog/javainsel/2010/05/buchkritik-pro-jakarta-commons.md'
date: '2010-05-09'
description: 'Harshad Oak, Apress, 1590592832, Februar 2004, 304 Seiten Harshad Oak beschreibt in dem Buch die bekannten Jakarta Commons Bibliotheken. Nicht jede Funktion wird vorgestellt, sodass das Buch die JavaDoc nicht ersetzt. Eher versucht der Autor die Philosophie und Kernkomponenten zu vermitteln. Es gib…'
taxonomy:
  category:
    - 'Open Source'
    - Rezension
---

# Buchkritik Pro Jakarta Commons

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Buchkritik Pro Jakarta Commons

09.05.2010 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

*Harshad Oak, Apress, 1590592832, Februar 2004, 304 Seiten*

Harshad Oak beschreibt in dem Buch die bekannten Jakarta Commons Bibliotheken. Nicht jede Funktion wird vorgestellt, sodass das Buch die JavaDoc nicht ersetzt. Eher versucht der Autor die Philosophie und Kernkomponenten zu vermitteln. Es gibt immer wieder komplett abgebildete Listings, die man direkt in die IDE einsetzen und mit den entsprechenden Libs im Klassenpfad direkt ausführen kann. Mich hätte gefreut, wenn hinter den `println()`-Zeilen gleich die Ausgabe steht, so muss nicht man immer unter das Listing schauen – das geht besser. Die Auswahl an Themen ist OK, nur sein Styleguide ist zum Teil etwas schwach, wenn er etwa Variablen `iVowelCnt` oder `iTestLen` nennt. Auch Zeilen wie

```java
char[] aChars = new char[] { 'a', '1', 'c', '2', 'e', 'f', 'g' };
```

überraschen mich (mal wieder). Und was ist das für eine Schreibweise in “SELECT UserName as `uName`, AgE FROM USER”?

Updates wären natürlich sehr schön. Java 5 spielt keine Rolle, und Java 1.4 wird als aktuell bezeichnet, sodass es `NestableException` einen größeren Raum einnimmt, als es müsste. An anderer Stelle gibt es den Satz “The Discovery component depends on JDK version 1.1.8 or higher”. Also wenn das nicht gegeben ist… Auch Enum könnte man sich natürlich mit Java 5 sparen. Aber das ist eine allgemeine Kritik auch an den Jakarta Commons, da kann der Autor nichts für. Heute könnte man eine Reihe on Verbesserungen vornehmen und auch Alternativen nennen. Im Bereich Date/Time etwa Joda-Time, bei `Collections` natürlich Google `Collections`, usw. Die Validator-Klasse macht mittlerweile Java Beans Validation, ein Standard von Java EE 6, quasi überflüssig und Struts Validator spielt heute keine Rolle mehr. Bei den BeanUtils wäre der Hinweise angebracht, dass man mit dynamisch generieten Bytecode schnellere Lösungen realisieren kann als über Reflection. Fürs Datenbank-Pooling gibt es auch Alternativen, sie wären gut im Kapitel 6 aufgelistet. Commons Logging ist auch nicht unproblematisch, eine tiefere Diskussion hätte der Autor bringen können. Und `Thread`-Pools könnten auch noch erwähnt werden. In Java 7 ersetzt `Objects` die Commons Klasse ObjectUtils. Zusammenfassung: Fortgeschrittene Entwickler dürften sich das Buch sparen können und kommen mit der API-Dokumentation – die sehr gut und mit vielen Beispielen bebildert ist – sehr weit. Einige der Commons-Bibliotheken sind zudem heute veraltet und spielen in neuesten Projekten keine große Rolle mehr. Die spannenden und aktuellen Themen kommen im Buch leider etwas zu flach weg.

Kategorien: [Open Source](https://tutego.de/blog/javainsel/category/open-source/), [Rezension](https://tutego.de/blog/javainsel/category/rezension/)

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Video zum Java Memory Model](https://tutego.de/blog/javainsel/2010/05/video-zum-java-memory-model.md)
- Next: [Neue Job-Börse auch für Java-Entwickler](https://tutego.de/blog/javainsel/2010/05/neue-job-brse-auch-fr-java-entwickler.md)
