Dann mal ein Quicktest mit der neuen Version, mit der CO2-Ampel. Version eintragen und …:
Server starten … „Passend zum #cryptocrash und #FTXInsolvenz ist heute eine neue Quarkus Version 2.14.0.Final released worden“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Krypto und Blockchain
Dann mal ein Quicktest mit der neuen Version, mit der CO2-Ampel. Version eintragen und …:
Server starten … „Passend zum #cryptocrash und #FTXInsolvenz ist heute eine neue Quarkus Version 2.14.0.Final released worden“ weiterlesen
Eine Keycloak Installation auf einem Raspberry Pi Zero W ist möglich. Wie? Das werde ich hier beschreiben. Hier ein paar Infos zu Keycloak das jetzt auf Quarkus basiert.
Danke Dr.Kleinhirn.eu für die Mindmap.
Voraussetzung ist ein aktuelles Debian in dieser Version: … „Aktuelle Keycloak 19.0.2 Installation auf einem Raspberry Pi Zero W“ weiterlesen
Heute mal ein Vergleich mit einem Beispiel-Quarkus-REST Service normal vs. nativ.
Um die Größe und die Buildzeit zu vergleichen. Hier das Ergebnis vorweg:
1 2 3 |
Build Start Größe normal 4,00 s 0,625 s 4588 Byte nativ 53,47 s 0,018 s 39,126296 MB |
Also native gebaute Apps sind wesentlich länger zur Buildzeit dafür laufen sie aber auch wesentlich schneller und sind dann auch auf das jeweilige Betriebssystem beschränkt.
Um auf einen MacOs Quarkus auch nativ zu kompilieren muss die GraalVM und das Native-Image installiert sein.
Also installieren wir die GraalVM auf dem Mac mit Port: „Vergleich GraalVM nativ vs. herkömmlich mit Quarkus auf MacOS“ weiterlesen
TWRestMindmap mit React, Patternfly, RESTEasy, Swagger-UI, Quarkus, Panache, ORM, JPA, Hibernate, Docker und PostgreSQL DB verwenden. Um nicht JUnit 5 zu vergessen.
Wir bauen nun mit Quarkus eine React Anwendung die Titel und das Datum von Mindmaps anzeigt und per REST bedient werden kann. Die GUI im Browser sieht dann so aus: „TWRestMindmap mit React, Patternfly, RESTEasy, Swagger-UI, Quarkus, Panache, ORM, JPA, Hibernate, Docker und PostgreSQL“ weiterlesen
In der neuen Quarkus Version 2.4.1.Final gib es nun eine schöne Gui für die Bearbeitung der applications.properties. Man kann dort gut Parameter suchen und die Funktionen werden dort auch beschrieben.
Wenn der Quarkus Server im dev Modus gestartet wird (via mvn quarkus:dev), kann über diese URL der Service erreicht werden http://localhost:8080/q/dev/, dann auf Config Editor
und schon ist diese Seite Online. Hier am Beispiel der CO2-Ampel mit MQTT und REST-Service… „Quarkus UI für die einfache Bearbeitung der applications.properties“ weiterlesen
Hier mal eine Zusammenfassung eines CO2-Messsystems (CO2-Ampel) mit dem Raspberry Pi an dem der MH-Z19b, OLED Anzeige, LED-Rgb-Ampel hängen. Auch werden die Daten Online an Thinkspeak, MQTT, NodeRed, Alexa ausgabe von Warnungen und abfrage der Co2 Werte, Pushover nachrichten ans Handy, REST Java-Client, Docker Container und an einen History Browser gesendet. Wie hier auch schon einzeln veröffentlicht.
Für die Entwicklung von REST APIs ist die Swagger-UI sehr hilfreich.
Ok, dann wollen wir mal in einem Quarkus Projekt eine Swagger-UI hinzufügen. Das geht mit einem Befehl, da Quarkus einen guten Plugin Mechanismus hat:
./mvnw quarkus:add-extension -Dextensions=“openapi“
Nach 27 Sekunden kommt das Build Success:
1 2 3 4 |
[INFO] --- quarkus-maven-plugin:0.24.0:add-extension (default-cli) @ info-kleinhirn --- ✅ Adding extension io.quarkus:quarkus-smallrye-openapi [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS |
So, das wars schon. Nun noch die Anwendung starten mit „Swagger-UI in 5 Minuten auf einen Raspberry Pi einem Quarkus Projekt hinzufügen!“ weiterlesen
Wenn Java 8 und ein aktuelles Maven auf dem Raspberry Pi installiert ist, kann man in unter 5 Minuten eine komplette REST-Anwendung mit statischer Webseite erstellen und starten. Die dann sogar Hot Reloading fähig ist. Das geht in drei Schritten und das sogar auf einem Raspberry Pi Zero:
1. Ein neues leeres Verzeichnis erstellen und dahin wechseln:
1 2 |
mkdir quarkus-anwendung cd quarkus-anwendung |
2. Mit folgenden Maven Kommando ein Maven Projekt in ca. 30 Sekunden erstellen
1 |
mvn io.quarkus:quarkus-maven-plugin:0.24.0:create -DprojectGroupId=de.wenzlaff.info -DprojectArtifactId=info-kleinhirn -DclassName="de.wenzlaff.InfoResource" -Dpath="/info" |
3. Das Projekt compilieren und starten in ca. 40 Sekunden mit:
1 |
mvn compile quarkus:dev |
Wenn der Server gestartet ist kann im Browser das Servlet aufgerufen werden mit:
http://[PI-ADRESSE]:8080/info
Ergebnis: hello
4. Nun wollen wir in einem anderen Kommondozeilen-Fenster in das Verzeichnis „In unter 5 Minuten auf einem Raspberry Pi Zero eine Java Quarkus REST Anwendung mit JUnit-Test neu erstellen und starten!“ weiterlesen
Wenn das kein Grund ist mal die neue Version zu testen. Quarkus ist ein relativ neues Framework, welches die leichtgewichtige Entwicklung von Java-Anwendungen nach dem „Container-first“-Prinzip macht. Es wird von Red Hat gesponsert und macht die Entwicklung von Microservices einfacher. Was Entwickler besonders gefällt ist das Live Reloading so das man gemachte Änderungen sofort „sieht“.
Also gleich ein Build it. Save it. Run it. – und das mit Java:
./mvnw compile quarkus:dev
Das klappt ja schon mal, nun ein
./mvnw clean package
Package bauen: „Quicktest: Gestern wurde Quarkus 0.24.0 released – „Container First““ weiterlesen