* Remove exception from typed Terminated
This currently only works for direct child actors and breaks when using
typed supervision.
It could be re-introduced by supervision returning a new special
behavior that the actor adaper for failed with an exception.
* Try out keeping the terminated and adding a ChildTerminated subclass of Terminated
Some tests need updated will fix those if we decide this is better
* Fix duplicate logging + make it Terminated + ChildFailed
* Import service discovery from akka-management
* Rename extension to Discovery to go with akka-discovery name
* Rename interafce to ServiceDisovery
* Import config, aggregate and dns
* Discovery documentation
* Load isolated async-dns if not configured as default
* OSGi for discovery
* Remove warning for not using in production
* Fail if old akka management on classpath
* Only allow async dns to be loaded as an additional resolver
* Use method in all of service discovery, not mechanism
* Mima filter
* Add discovery to aggregate
* Set discovery mima versions
* DnsDiscoverySpec: Only run docker test if docker available
Specifically:
* avoid "internal", as I initially though that meant the Akka framework's internal state of an actor
* dropped "started" in the context of recovering an actor: in order to recover you have to have been already started
* rather than refering to "changes", reference that what's persisted are the actor's received events
* some general English re-wording
* [ttk] Add access to logged events in BehaviorTestKit #25905
`BehaviorTestKit` now has methods to:
- Access to logged events
- Clear all log events
Added section in docs explaining how to check for logs.
Note about the implementation: `CapturedLogEvent` was effectively private to akka. It uses `OptionVal` internally, this makes it impossible to be used from outside akka. To overcome this, I added some methods to translate it to the corresponding `Option` and `Optional`.
* Apply feedback
Clean up `CapturedLogEvent` by using only `Option` in public methods
Use `immutable.Seq` instead of plain `Seq`
* It's mostly technical concern that is blurring the business logic in the entity
* Async interactions before stopping is often not needed
* Implemented with an internal PoisonPill signal that is added by sharding,
* Persistent actors handle PoisonPill and run side effects after persist
and process stashed messages before stopping.
* remove unecessary stop messages
* reference docs
* Makes the combination more visable
* You don't have to worry about the persistenceId, only EntityTypeKey and entityId
* The glue is stronger in the javadsl because of two reasons
* Couldn't realisticly create a PersistentEntity class extending PersistenBehavior (which
contains all the optional parameters and functions) since that would duplicate too much.
* The ActorContext would be needed in the ShardedEntityContext parameter and because of the
additional M type parameters the type inference breaks down when using the factory. Would
require specifying the type of the ShardedEntityContex[M] parameter. That problem doesn't
seem to exist in Java.
renamed:
s/ShardedEntityContext/EntityContext/
s/ShardedEntity/Entity/
* Also cleanup javadsl Receive, which is only used from AbstractBehavior
* Clarify further in docs that the functional vs OO style is a matter of taste