6. August 2014 | 2 min lesezeit

„Is Java 8 Enterprise-ready?“ oder: „Is Enterprise ready for Java 8?“

Java 8 ist da. Damit einher kommen einige neue Sprachfeatures und APIs, von denen die Lambda Expressions wohl die berühmtesten sind. Aber was bedeutet das für den allgemeinen Enterprise-Entwickler? Ab wann können die Features und APIs im Enterprise-Umfeld eingesetzt werden? Wir nehmen das aktuelle Major-Release der Java-Plattform zum Anlass, diese Fragen zu beantworten. In dieser und den nächsten Kolumnen werden wir einen Blick auf die Neuerungen werfen und sie in den Kontext von Enterprise-Java setzen.

Java 8 erst mit Java EE 8?

Offiziell wird Java 8 im Enterprise-Umfeld erst von Java EE 8 unterstützt. Und für Java EE 8 gibt es bisher nur einen Entwurf. Wann also Java 8 offiziell von Java EE unterstützt wird, steht in den Sternen. Das heißt aber nicht, dass ein Application Server nicht trotzdem mit Java 8 lauffähig wäre. Schließlich ist ja Java abwärtskompatibel, oder etwa nicht?

Java 8 im Application Server

Wer im Java-Enterprise-Standard entwickeln und deployen will, braucht einen Application Server. Soll die Entwicklung mit Java 8 geschehen, muss also auch der Application Server Java-8-kompatibel sein. Machen wir also den Test. Wir starten mit der Java-EE-Referenzimplementierung, dem GlassFish 4. Das Starten mit Java 8 funktioniert problemlos, und eine Log-Ausgabe bestätigt auch, dass der Server tatsächlich auf Java 8 läuft.

Das Deployment und der Start einer Anwendung, die mit Java 8 kompiliert ist, funktioniert auch noch – solange man keine Java-8-Sprachfeatures verwendet. Versucht man Code zu deployen, der z. B. eine Lambda Expression enthält, dann steigt der Server beim Deployment mit einer Exception aus, die darauf hindeutet, dass eine der Bibliotheken, die den Bytecode scannt, wohl noch nicht mit Java-8-Byte-Code umgehen kann. An dieser Stelle brechen wir den Versuch ab. Eine kurze Google-Suche ergibt, dass mit weiteren Problemen zu rechnen ist. So scheint es der Fall zu sein, dass EclipseLink (der JPA-Provider des GlassFish) Klassen mit Java-8-Features still ignoriert. Zwischenfazit: Mit dem GlassFish 4 lassen sich aktuell keine (echten) Java-8-Anwendungen entwickeln und betreiben.

Wenden wir uns also dem nächsten Open-Source-Anwendungsserver zu: WildFly 8. Hier deuten bereits die Release Notes darauf hin, dass Java 8 unterstützt wird.

Wie erwartet, lässt sich der WildFly problemlos mit Java 8 starten und bestätigt auch per Log-Ausgabe, dass er mit Java 8 läuft. Das Deployment unserer kleinen Testanwendung funktioniert auch. Natürlich können wir nicht jedes kleinste Feature testen, um zu überprüfen, ob Java 8 von jedem im WildFly verwendeten Framework vollumfänglich unterstützt wird. Aber das Ergebnis reicht, um sagen zu können, dass mit dem WildFly eine Entwicklung mit Java 8 möglich ist.

Lese mehr unter: jaxenter.de/artikel/java-8-enterprise-ready-kolumne-175367


Keine Kommentare

Kontakt

OPEN KNOWLEDGE GmbH

Standort Oldenburg:
Poststraße 1, 26122 Oldenburg

Standort Essen:
II. Hagen 7, 45127 Essen