Java-Objekte versionieren: Gson und JaVers

Hier nur ein kleiner Hinweis auf zwei Java-Bibliotheken, über die ich kürzlich gestolpert bin. Beide verwendet man, wenn man Java-Objekte versionieren möchte, also deren Zustände aufheben, um darauf später zugreifen zu können – also Historisierung, Versionierung – wie man es nennen möchte. Trotzdem beide recht unterschiedlich:

  • Gson mit der guter Einfühung und Dokumentation: Gson ist eine sehr leichtgewichtige, einfach einzusetzende Library zum Serialisieren und De-Serialisieren von beliebigen Java-Objekten (die noch nichtmal Cloneable implementieren müssen). Im Kern gibt es als 2 Aufrufe:
    String myObjectAsJson = gson.toJson(myObject);
    

    und

    MyClass myObject = gson.fromJson(myObjectAsJson, MyClass.class)
    

    Beides hat einiges an Möglichkeiten zum “tunen” bzgl. Collections, verschachtelter Objekte, Behandlung von Null-Werten, Typ-Versionierung etc. In alles kommt man sehr schnell rein, weil es sehr einfach gehalten ist.

  • JaVers ist da schon deutlich aufwändiger angelegt: Es basiert zwar ebenfalls auf JSON-Serialisierung, enthält aber obendrein Persistenz und eine Abfragesprache (JQL) für Änderungen. Es integriert sich in Spring (Boot) u.v.a.m.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert