Mit ein paar Javazeilen (mind. JDK 11) eine Datenbank mit REST-Service erstellen? Ja das geht in ein paar Minuten.
Einfach in der pom.xml diese Einträge:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- DB --> <dependency> <groupId>org.eclipse.store</groupId> <artifactId>storage-embedded</artifactId> <version>1.0.0</version> </dependency> <!-- DB Rest-Service --> <dependency> <groupId>org.eclipse.store</groupId> <artifactId>storage-restservice-sparkjava</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.32</version> </dependency> |
und schon kann immer der gesamte Objektgraph gespeichert werden.
Und hier die ganze Java Klasse, mit einer BTC Adresse, es geht natürlich jedes Objekt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
/* * @author Thomas Wenzlaff * */ public class Db { public static void main(String[] args) { EmbeddedStorageManager storage = EmbeddedStorage.start(); Adresse buyMeACoffeeBtc = new Adresse(); buyMeACoffeeBtc.setAdresse("bc1qj4grttyhk2h5wqask3nku70e3qtycssz5kvw5l"); if (buyMeACoffeeBtc.isValid()) { if (storage.root() == null) { System.out.println("Keine DB vorhanden, anlegen in ../storage Verzeichnis ..."); storage.setRoot(buyMeACoffeeBtc); storage.storeRoot(); } else { System.out.println("DB vorhanden, verwenden ..."); Adresse gespeicherteRootAdresse = (Adresse) storage.root(); System.out.println("Gespeicherte Root Adresse: " + gespeicherteRootAdresse); } // und eine REST-Service starten ... http://localhost:4567/store-data/root StorageRestService service = StorageRestServiceResolver.resolve(storage); service.start(); } // storageManager.shutdown(); } } |
Es sind mind. diese Schritte nötig:
1. EmbeddedStorageManager erstellen
2. das zu Speichernde Objekt mit setRoot(…) setzen
3. das Objekt in die DB speichern mit storeRoot()
4. Optional ein REST-Service starten mit StorageRestServiceResolver.resolve(storage); und start()
und schon kann:
„To fully or partially persist and restore a Java object graph in the simplest way possible for the user.“
Weitere Infos bei Heise oder auf der Projektseite.
Es gibt auch einen REST-Client, denn kann man sich als jar laden und dann mit
1 |
java -jar storage-restclient-app-1.0.0.jar --server.port=8888 |
starten. Aufruf dann mit http://localhost:8888/instance Es startet dann ein Vaadin Client auf einem Tomcat in ein paar Sekunden.
Anmeldung:
Objekt Info:
Statistik Tab: