Neon ist ein ultrakompakter, modular aufgebauter HTTP-Server auf der Grundlage des Java-Moduls jdk.httpserver zum Einbetten in Apps und Microservices.

Einbetten von Neon

Neon [1] besteht im Kern aus verschiedenen Modulen, die nach Bedarf einer App oder einem Microservice mitgegeben werden. Neon-Module enthalten Funktionsbausteine als Java-Klassenbibliothek. Die Klassen eines Moduls erweitern Neon gezielt um einzelne Funktionen. Die Modulübersicht zeigt für Neon verfügbare Module und dokumentiert deren Einsatz.

Im Code der App oder des Microservice werden die Bestandteile der Module wie folgt eingebunden.

Einbetten von Funktionen eines Neon-Moduls am Beispiel FileHandler aus http-base
HttpServer server = HttpServer.create(new InetSocketAddress(9191), 0);
HttpContext context = server.createContext("/meine-app", new FileHandler());
context.getAttributes().put(FileHandler.ATTR_FILE_BASE, "/home/fred/www");
server.setExecutor(Executors.newCachedThreadPool());
server.start();

Mit dem obigen Code wird die Klasse FileHandler des Moduls http-base [3] für den Kontext /meine-app aktiviert. Die App liefert damit Dateien im Ordner /home/fred/www über den Port 9191 aus.

Wird der obige Code als Teil einer App oder eines Microservice ausgeführt, ist der Inhalt von /home/fred/www der betreffenden Maschine anschließend über den Uniform Resource Locator http://localhost:9191/meine-app/ via HTTP zugänglich.

Voraussetzungen, Lizenz

Zur Verwendung von Neon ist Java [4] erforderlich. Neon wird unter den Bedingungen der GNU Affero General Public License bereitgestellt.

Verweise

[1] Produktseite von Neon

[2] Übersicht von Modulen für Neon

[3] Produktseite des Moduls http-base

[4] Java auf der Webseite von AdoptOpenJDK