Events, services, and concurrency frameworks.
Some notable features.
See the EventBus interface for events. Registry is for the services registry. You can obtain a Registry and EventBus by creating a DefaultOmnibus and using it.
Most prominent is the futures framework centered around FactoryOfTheFuture/CentralisedFuture/ReactionStage which both introduces a concept of an application main thread and centralizes creation of futures. Some basic and partial implementations are provided in space.arim.omnibus.util.concurrent.impl A more advanced future factory implementation with anti-deadlock features is located at ManagedWaitStrategies.
Also particularly useful is EnhancedExecutor, whose provided base implementation uses the system-wide scheduler in CompletableFuture.delayedExecutor.
Dependency:
space.arim.omnibus:omnibus:{VERSION}
Repository:
https://mvn-repo.arim.space/lesser-gpl3/
A thanks to Cloudsmith for providing free repositories for FOSS.
With maven, this would be applied as follows.
Dependency:
<dependency>
<groupId>space.arim.omnibus</groupId>
<artifactId>omnibus</artifactId>
<version>{INSERT_VERSION}</version>
</dependency>Repository:
<repository>
<id>arim-mvn-lgpl3</id>
<url>https://mvn-repo.arim.space/lesser-gpl3/</url>
</repository>See the file LICENSE.txt for the full GNU Lesser General Public License v3. The license applies to this entire repository and is copied into binaries as LICENSE.txt.