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.
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