* fluent API for 2-stream mergeLatest, mergePreferred and mergePrioritized
* Add javadocs and 'eagerClose' paramter to 'mergeLatest'
* fluent API's for
* Behavior factory method
* AbstractBehavior via Behaviors.setup
* Where to define messages
* Public vs. private messages
* Singleton messages, enum
* ask vs ?
* Partial vs. total Function
* Additional naming conventions
* Lamdas vs. method references
* intro
Co-Authored-By: Helena Edelson <helena@users.noreply.github.com>
* solves the problem that previously it loaded application.conf
if no Config parameter is used, but not otherwise
* application.conf should normally not be used by tests,
but if someone prefer that it's easy enough to use it via
`ConfigFactory.load()` or via include in application-test.conf
* akka.actor.allow-java-serialization = off
* Moved primitive (Long, Int, String, ByteString) serializers
from akka-remote to akka-actor since they had no dependency
and are useful also in local systems, e.g. persistence.
* e.g. needed for persistence-tck
* less allow-java-serialization=on in tests
* CborSerializable in Jackson/test module for ease of use
* JavaSerializable for Java serialization in tests, already in akka-testkit,
but misconfigured
* Made tests pass
* allow-java-serialization=on in akka-persistence
* allow-java-serialization=on in classic remoting tests
* JavaSerializable and CborSerializable in other remoting tests
* Added serialization for
* Boolean
* java.util.concurrent.TimeoutException, AskTimeoutException
* support for testing serialization with the inmem journal
* utility to verifySerialization, in SerializationTestKit
* remove AccountExampleWithCommandHandlersInState becuase not possible to serialize State when it's not static
* Effect() is factory in EventSourcedBehavior class
* test the account examples
* SharedLeveldbJournal.configToEnableJavaSerializationForTest
* support for exceptions from remote deployed child actors
* fallback to akka.remote.serialization.ThrowableNotSerializableException
if exception is not serializable when wrapped in system messages from
remote deployed child actors and Status.Failure messages
* it's implemented in `WrappedPayloadSupport.payloadBuilder`
* update reference documentation
* serialize-messages=off in most places, separate ticket for
improving or removing that feature
* migration guide, including description of rolling update
* fix 2.13 compiler error
* minor review feedback
* Sprinkle deprecated annotation to public classes for classic remoting
* Use right dispatcher setting for a few remoting actors
* New Artery events for QuarantinedEvent, GracefulShutdownQuarantinedEvent
and ThisActorSystemQuarantinedEvent because old were not good
and would cause binary compatibility trouble when we remove classic
* silence more deprecation warnings
This should be safe for a rolling update between Akka 2.5.x and 2.6.0
also if additional-bindings were disabled in 2.5.x because:
* if 2.6.0 sends one of those the serializer (akka-misc) exists in 2.5.x
so deserialization will work via the serializerId
* if 2.5.x sends one of those with java serialization it can be
deserialized in 2.6.0 since the java serializer exists
(disabling java serialization by default is another ticket)
* historical problems with serialization of remote Deploy messages
in Akka 2.4.x should be gone now
* kept part of OrElseSpec to illustrate composition with
functions or partial functions
* added an experiment with and interceptor that
delegates to behaviors
* Always be explicit about what message types an interceptor can handle, to avoid
ClassCastException if another message type is passing. That may happen when
the inner behavior understands other messages than it says in it's declared
behavior type by using narrow. EventSourcedBehaviorImpl is an example.
* Minimized failing tests
* Supervision interceptor is of type Any since failures of all messages must be
handled
* Changed PoisonPillInterceptor to only intercept signals
* rename type params to Outer and Inner
* separate BehaviorSignalInterceptor
* which only intercepts signals and messages bypass, e.g. PoisonPillInterceptor
* also made aroundSignal optional to override in BehaviorInterceptor
* Add test for interceptors combined with EventSourcedBehavior
* ClassTag not needed for LogMessagesInterceptor
* since it can handle Any
* test supervision of different message type
* clarify low level
* docs for interceptMessageClass param and ClassTag
* remove O type parameter in supervision
* remove extra setup for RestartSupervisor, already factory
* mention in migration guide
* Re-write InputStreamPublisher as a GraphStage
* Deprecate IOResult.failure and introduce IOOperationIncompleteException
After some dicussion with @johanandren, @raboof and @2m about the
confusion of the materialised value of the IO streams to complete
even if there is an exception (with the exception in the IOResult)
this now changes it to:
* Deprecate failure in IOResult so it is always set to Success(Done)
* Stop using AbrubtIOTerminationException as the inner IOResult also
contains an exception causing confusion
* readers tend to try what is at the top of the page
and given the limitations of BehaviorTestKit we
should show the full featured asyncronous TestKit first
* mention test framework integration earlier
* better example in the test framework section
* Reduce boilerplate for interaction with Typed Replicator #27116
* By introducing a message adapter "helper" that is specific the Replicator
* Specific methods for askUpdate, askGet and askDelete, subscribe, unsubscribe
* add thread safetey warnings
* DistributedData.withReplicatorMessageAdapter for creating the ReplicatorMessageAdapter
* Send a `start` message to the first actor
Otherwise, only the actor system is started, but none of the actors.
* Send a `start` message to the first actor
Otherwise, only the actor system is started, but none of the actors.