DOCUMENTATION https://xvik.github.io/dropwizard-orient-server
Example: Sample todo application
Embeds OrientDB server into dropwizard.
Simplifies development environment (no need to maintain separate server) without sacrificing functionality (embedded server is 100% the same as usual server). Also, simplifies production deployment and allows to slightly reduce memory consumption on server due to single (shared) vm. To switch application to external server simply switch off embedded server in configuration.
Embedding is officially proposed
Features:
- For orient 3.2 and dropwizard 5
- Embedded orient server, managed by dropwizard (using Managed object)
- Configuration in main yaml configuration file or with external orient xml configuration file
- Console command (interactive mode, command execution, commands file execution)
- Optional embedded orient studio
- Full support of orient plugins (and enterprise edition)
- SSL configuration helpers
OrientDB was bought by SAP, which stopped paid support but continued supporting a tiny team working on it. As a consequence, previously enterprise features (profiler) are open-sourced now.
OrientDB is alive: bugfix releases are made every few months, new features are added (very slowly). OrientDB 4 is also in work (will not release soon).
The original author of OrientDB Luca Garulli has started a new db https://arcadedb.com/ (only query engine was forked - overall it's a different project)
In 2024, one of the core developers Andrii Lomakin has forked orient as https://youtrackdb.io/. Work in progress, no releases yet but looks very promising - this db should be used inside JetBrains YouTrack
Maven:
<dependency>
<groupId>ru.vyarus</groupId>
<artifactId>dropwizard-orient-server</artifactId>
<version>4.0.0</version>
</dependency>Gradle:
implementation 'ru.vyarus:dropwizard-orient-server:4.0.0'| OrientDB | Dropwizard | dropwizard-orient-server |
|---|---|---|
| 3.2 | 5 | 4.0.0 |
| 3.0 - 3.2 | 2.0.0 | 3.0.0 |
| 3.0 | 1.3.5 | 2.2.0 |
| 2.2.17 | 1.1.4 | 2.1.0 |
| 2.2.0 - 2.2.17 (studio webjar, lucene as plugin) | 1.0 | 1.4.0 |
| 2.0 - 2.1 | 0.8 - 1.0 | 1.3.0 |
| 1.0 | 0.8 | 1.1.1 |
| 1.0 | 0.7 | 1.1.0 |
Snapshots could be used through JitPack:
- Go to JitPack project page
- Select
Commitssection and clickGet iton commit you want to use (you may need to wait while version builds if no one requested it before) - Follow displayed instruction:
- Add jitpack repository:
maven { url 'https://jitpack.io' } - Use commit hash as version:
ru.vyarus:dropwizard-orient-server:378ece3c6e
- Add jitpack repository:
Read documentation
Use provided sample application.
- dropwizard-guicey - dropwizard guice integration
- guice-persist-orient - guice integration for orient