Improvements
- Moved various interfaces down from orbit-runtime into orbit-core to allow addons to be implemented without including the heavy runtime.
- Replaced guava with caffeine for caching (Reduces dependency size and increases performance).
- Split infinispan out of the orbit-runtime into a separate orbit-infinispan-cluster project.
- Infinispan/JGroups are still used as the default cluster mechanism if no other is provided.
- Changed infinispan dependency from infinispan-embedded to infinispan-cluster (Reduces dependency size).
- Upgraded the logging framework to the latest version of slf4j.
- Reintroduced config annotation that can be implemented by custom containers.
- Introduced an InMemoryStorageExtension to the orbit-json project.
Bug Fixes
- Fixed an issue in ActorFactoryGenerator related to class loaders that could cause runtime classes to be created multiple times and conflict.
- Introduced an early check in Actor.getReference to detect actor ids that are null/blank and throw an exception.
- Fixed an issue where ScheduledExecutorService in task prevents clean JVM shutdown.
- Extensions now shutdown after execution, allowing storage to be accessed correctly during actor shutdown.