Morphium V4.0.0-RC5

veröffentlicht am : Fr, 19. 10. 2018 geändert am: Fr, 19. 10. 2018

Schlagworte: mongodb java morphium


Das war ein langer weg, aber so langsam wird es...

wir haben viel Zeit und Arbeit in die neue Version von Morphium gesteckt. Mit dem aktuelle Release Candidate #5 nähern wir uns endlich dem Major release!

Was war noch mal Morphium?

Morphium startete damals als reiner Object-Mapper für Mongodb 1.0 welcher sich mit einer fluent api die queries stark vereinfacht hat. Dazu kamen Features wie automatisches De-Referenzieren und lazy loading. Features wie die Caching, Cluster Awareness Cache Synchronization, etc müssen ja schon gar nicht mehr erwähnt werden.

Messaging entwickelte sich immer mehr zu einem zentralen Feature von Morphium. Gestartet, um die Cluster-Caches synchron zu halten hat es jetzt sehr viel mehr Aufmerksamkeit bekommen.

Morphium V4.0.0

Mit der V4.0.0 von Morphium kommen eine Menge neuer Features und Verbesserungen. Diese gilt es noch vernünftig zu dokumentieren. Und dann kommt das release - versprochen emoji people:smirk.

Zu Erinnerung, was alles in der 4.0.0 neu ist:

  • stark verbessertes Messaging! Unterstützung von watch um eine Art "Push" der Messages zum Client hin zu bekommen. Maximale Performance, minimale Last (nur im ReplicaSet)
  • Prioritäten in messages - damit können Nachrichten höher priorisiert werden und werden entsprechend eher abgearbeitet
  • stark verbesserter und schnellerer Object Mapper welcher jetzt auf Jackson basiert
  • vereinfachte API, ungenutzte Teile (incl. kaum genutzte Features) wurden entfernt.
  • Volle Unterstützung der Transaktionen von Mongodb 4.0.0

Die Codebase ist momentan schon sehr gut getestet und läuft auch bei einigen testweise schon in Produktivumgebungen.

Verfügbarkeit

Morphium ist ein OpenSource Projekt und man kann sich den Code oder aktuelle Releases/Release Candidates von github herunterladen.

Morphium ist aber auch über Maven Central verfügbar:

<dependency>
    <groupId>de.caluga</groupId>
    <artifactId>morphium</artifactId>
    <version>4.0.0-RC5</version>
</dependency>

erstellt Stephan Bösebeck (stephan)