Commit graph

183 commits

Author SHA1 Message Date
Patrik Nordwall
91db18b564 ActorContext as constructor parameter in AbstractBehavior, #27689 (#27806)
* ActorContext as constructor parameter in AbstractBehavior, #27689

* additional test

* additional doc clarification

* another rebase
2019-09-27 11:17:37 +02:00
Johan Andrén
0719de035b
General concepts docs ported to typed (#27765) 2019-09-27 09:50:34 +02:00
Patrik Nordwall
1a90e715f5
Cleanup persistence docs, #24717 (#27779) 2019-09-26 22:48:12 +02:00
Patrik Nordwall
d4d44a4813
Merge pull request #27762 from akka/wip-24717-doc-ser-patriknw
doc: Cleanup serialization.md, #24717
2019-09-26 12:01:22 +02:00
Patrik Nordwall
b94f3c3bcc
Merge pull request #27707 from akka/wip-26187-finally-patriknw
Final removal of ActorPublisher and ActorSubscriber, #26187
2019-09-24 13:31:25 +02:00
Patrik Nordwall
f18d8af484 doc: Cleanup serialization.md, #24717 2019-09-19 17:53:02 +02:00
Patrik Nordwall
4e705f1d18
doc: stylish dispatchers.md, #24717 (#27748) 2019-09-19 16:32:37 +02:00
Patrik Nordwall
db132cd216 Final removal of ActorPublisher and ActorSubscriber, #26187
* some messages from ActorSubscriber were also used in other places,
  so moved those to impl.ActorSubscriberMessage
* WatermarkRequestStrategy used by SourceRefImp, so moved there
2019-09-19 13:21:52 +02:00
Patrik Nordwall
d8c8121c4d
Code example for collect and collectType (#27744)
Co-Authored-By: Helena Edelson <helena@users.noreply.github.com>
2019-09-19 11:22:37 +02:00
Jakob Merljak
4576835cce Akka Stream log operator documentation fix (#27654)
* Fix Akka Stream log operator documentation example

* Keep Scala documentation example in sync
2019-09-10 13:24:24 +02:00
Nicolas Vollmar
751918e84c Deprecates status message based api #27503 (#27519)
* Deprecates status message based api #27503
* Deprecates actorRefWithAck for actorRefWithBackpressure
2019-09-10 11:59:19 +02:00
tanaka takaya
9aa0e593b0 Bump up dependencies. (#27586)
* Bump up dependencies.

* revert sslConfigVersion and sigarLoader.

* only used in tests.

* Bump up dependencies.
2019-09-09 14:54:09 +02:00
Patrik Nordwall
0783855b2c
Merge pull request #27552 from akka/wip-26537-slf4j-patriknw
Typed logging with slf4j, #26537
2019-09-06 11:33:56 +02:00
Patrik Nordwall
68424b4f55 Complete logging with SLF4J in Typed, #26537
* TestAppender interaction with LoggingEventFilter
  * TestAppender plays the same role as classic TestEventList
* replace Sl4jLoggingEvent.java
  * include MDC in testkit.LoggingEvent to allow for custom filter
    testing MDC
* fix tests
* fix log events in BehaviorSetKit, using SubstituteLogger
* MDC in EventSourcedBehavior
  * using raw MDC to set the persistenceId and persistencePhase fields
  * avoid access to MDC ThreadLocal if log isn't used

* Automatically enable eventStream Slf4jLogger for Typed (PR #27583)
  * amend the ActorSystem config on startup when config akka.use-slf4j=on
    and akka-slf4j in classpath
  * akka.use-slf4j is defined in akka-actor-typed reference.conf
  * also enable the Slf4jLoggingFilter automatically
  * remove config in tests

* Include actor path as akkaSource in MDC (PR #27587)
  * move logger init to ActorContextImpl since not specific to untyped (ActorContextAdapter)
  * careful to not access MDC ThreadLocal if logging isn't used (per message)
  * MDC is cleared (if used) from aroundReceive in ActorAdapter after processing each message
  * also changed MDC for EventSourcedBehavior to rely on context.log and the outer MDC.clear()
  * just removing the MDC values is not enough because the empty Map remains in the ThreadLocal

* Optimization of MDC interceptor (PR #27610)

* Extension methods to Logger as workaround for overload and varargs problem (PR #27605)
  * "ambiguous reference to overloaded definition" for 2 arg method
  * varargs not supported for primitive types
  * providing extension methods info2 and infoN (and friends) via implicit class LoggerOps
    as more convenient workaround for these problems

* New API for Typed LoggingEventFilter (PR #27611)
  * builder style
  * will make it easier to add more conditions
  * all conditions are AND:ed together which makes it easier to define custom filters
  * simplifies the implementation as a bonus
  * javadsl
  * use new api in all tests
  * leeway setting
  * verify that occurrences = 0 works
  * use javadsl in two tests
  * change interceptLogger, and some other feedback

* Testing utility to silence logging until failure (PR #27588)
  * Logback appender that captures all log events and can flush them
    later to other appenders
  * LogCapturing mixin for ScalaTest that flush the captured logging events
    when a test fails. Also clears the captured events after all tests.
  * Configuration in logback-test.xml
  * log capturing for JUnit tests too, using TestRule
  * Silence initial setup logging from Logback
  * make LogCapturing public
  * use LogCapturing in all tests
    * aside from multi-jvm, and a few extending AkkaSpec, so far
  * a few doc tests needed debug level

* mention in migration guide
* rename setLoggerClass to setLoggerName
* check for logback dependency to give nicer error message
* fix filterKeys, deprecated in 2.13
2019-09-06 10:09:54 +02:00
Patrik Nordwall
e80b591115 rename the new Materializer.create to createMaterializer, #27642
* because static methods are resolved by looking at extended class too,
  and that results in ambigious method clash with existing create in
  ActorMaterializer
2019-09-06 09:02:22 +02:00
Johan Andrén
b68d67008a
Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
Helena Edelson
29f2eba049 Change "Untyped" to "Classic" (#27627)
* Untyped to classic naming convention #24717
* Added entry of naming convention change to migration docs.
* Rename `toUntyped` to `toClassic` in adapters
2019-09-05 12:30:52 +02:00
Johan Andrén
aca63ea198
Materializer settings as attributes (#27499)
* Replace MaterializerSettings with Attributes #25559 
 * Field access to settings deprecated to make stages use attributes instead
 * Internal stages updated to use attributes
 * Docs on ActorMaterializerSettings updated to recommend away from using it
 * Verify all stages stopped after each testcase in FlowGroupBySpec
 * Subscription timeout attributes merged into one
2019-09-04 13:37:06 +02:00
Patrik Nordwall
b2bef35f0c
doc: stylish getting started tutuorial, #24717 (#27596)
* Move messages from DeviceProtocol to Device (in .java)
* rename Message to Command
* rename createBehavior to create
* rename message handle methods to onX
* private constructor
* get rid of DeviceManagerProtocol too
* rename Message to Command
2019-09-03 13:07:21 +02:00
Arnout Engelen
29b95f166a Improve Java perspective dispatcher docs (#27521) 2019-08-29 14:22:49 +02:00
Patrik Nordwall
bc2caf866c remove unused sample for classic getting started guide
* guide was removed previously
2019-08-28 14:01:47 +02:00
Johan Andrén
45c826a218
System wide materializer (#27491)
Introduces a materializer started through an extension and then an implicit
conversion for Scala turning an implicitly available ActorSystem into a
materializer. The Java APIs has been ammended with run-methods accepting
an ActorSystem.
2019-08-23 18:19:27 +02:00
Arnout Engelen
34f9faf5fa
Convert 'Blocking needs Careful Management' from classic (#27498)
* Convert 'Blocking needs Careful Management' from classic

* Move triggering blocking calls to separate methods

* Remove classic examples of dispatching
2019-08-16 17:35:52 +02:00
Christopher Batey
6c13949aec Use protobuf3 for internal serialization (#27366)
* Only load akka protobuf serializer if protobuf on the classpath
2019-08-15 17:43:19 +02:00
James Roper
511356177d Added actor termination coordinated shutdown task #27089
A convenience method that allows creating a
shutdown task by sending a message to an actor, and watching for its
termination.
2019-07-16 10:56:48 +02:00
Patrik Nordwall
3efc1c2877
Disable Java serialization by default, #22333 (#27285)
* 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
2019-07-11 14:04:24 +02:00
Stefan Ganzer
e59819a4cd ActorHierarchyExperiments: Send a start message to the first actor (#27204)
* 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.
2019-06-27 16:17:36 +01:00
Patrik Nordwall
10d32fceb9 scheduleWithFixedDelay vs scheduleAtFixedRate, #26910
* previous `schedule` method is trying to maintain a fixed average frequency
  over time, but that can result in undesired bursts of scheduled tasks after a long
  GC or if the JVM process has been suspended, same with all other periodic
  scheduled message sending via various Timer APIs
* most of the time "fixed delay" is more desirable
* we can't just change because it's too big behavioral change and some might
  depend on previous behavior
* deprecate the old `schedule` and introduce new `scheduleWithFixedDelay`
  and `scheduleAtFixedRate`, when fixing the deprecation warning users should
  make a concious decision of which behavior to use (scheduleWithFixedDelay in
  most cases)

* Streams
* SchedulerSpec
  * test both fixed delay and fixed rate
* TimerSpec
* FSM and PersistentFSM
* mima
* runnable as second parameter list, also in typed.Scheduler
* IllegalStateException vs SchedulerException
* deprecated annotations
* api and reference docs, all places
* migration guide
2019-06-05 11:38:04 +02:00
Christopher Batey
e7672a9802
Remove various features deprecated since 2.5.0 (#27023)
* Remove various features deprecated since 2.5.0
2019-05-29 07:10:40 +01:00
Arnout Engelen
814cfa286c Scala 2.13.0 rc2 (#26967) 2019-05-24 08:11:50 +02:00
Patrik Nordwall
24a3bba135
Add reason for deprecating TypedActor, #25516 (#26993)
* Add reason for deprecating TypedActor, #25516

Co-Authored-By: Helena Edelson <helena@users.noreply.github.com>
2019-05-24 08:07:58 +02:00
Nicolas Vollmar
f37f41574d Implements actorRef source variant with backpressure #17610 (#26633)
* Implements actorRef source variant with backpressure #17610

* Small improvements to documentation and source #17610

* Small improvements to test #17610

* Small improvements to implementation and tests #17610

* Adds API for akka-typed #17610

* Adds ack sender and java api for typed #17610
2019-05-20 12:19:44 +02:00
Patrik Nordwall
a2658cc8a0
Merge pull request #26933 from akka/wip-ClusterSingletonProxySpec-patriknw
more classic remoting leftovers
2019-05-17 11:07:29 +02:00
Arnout Engelen
7b20b89ce0
Add ByteString.emptyByteString to Java API (#26931)
* Add ByteString.emptyByteString to Java API

To work around https://github.com/scala/bug/issues/11509

* Add note to 2.6 migration document
2019-05-16 14:02:49 +02:00
Patrik Nordwall
71e9bdc262 more classic remoting leftovers
* fix several tests that were using akka.remote.netty.tcp config
* replace akka.tcp with akka in more places
* some doc cross references to remoting.md
2019-05-15 19:34:50 +02:00
Christopher Batey
c65bf2d276 Remove docs for ActorPub/Sub and write persistence query docs as stages (#26844)
* use separate db columns
* Use io dispatcher for sample stage
2019-05-03 12:36:50 +02:00
Patrik Nordwall
82c761f026
remove Future from StreamRefs mat val, #24372 (#26847) 2019-05-02 16:54:37 +02:00
Christopher Batey
efc3adc08d
Make artery the default remoting (#26772) 2019-05-01 08:12:09 +01:00
Christopher Batey
9cc5048c35 Show how to run plugin tck from java (#26829) 2019-04-30 14:17:45 +02:00
Arnout Engelen
a8bd5af1fb
Remove akka-agent #26184 2019-04-26 16:55:50 +02:00
Arnout Engelen
96c8ef4257 Remove akka-camel (#26768)
* Remove akka-camel

This module has been deprecated since 2.5.0 and will now be removed in 2.6.

If there is interest it can be moved to a separate community-maintained repo.

* Add note to migration guide

* Remove from allModules as well
2019-04-25 15:55:25 +02:00
Christopher Batey
39b344c508 Remove actor dsl (#26784)
* Removals of actor dsl
* Mima for actor dsl removal
* Remove inbox doc test
* Keep main in echo server example
2019-04-25 15:53:27 +02:00
Erwin
e7e252140f Fixed documentation typos in DeviceGroup sample class (#26661) 2019-04-23 19:03:16 +02:00
Nicolas Vollmar
c9b3f1de6d GrapheStage implementation for actorRef source (#25324) (#26054)
* Adds internal access to materializer before initialization (#25324)

* Implements new actorRef source based on graph stage  (#25324)

* Removes obsolete actorRef source (#25324)

* Improves backwards compatibility with old implementation (#25324)

* Removes dedicated new subclass for materializer access again  (#25324)

* Improves implementation (#25324)

* Finalizes implementation (#25324)

* Small improvements to API and documentation (#25324)

* Completion strategy as a replacement for poison pill (#25324)

* Adding more tests and updating the documentation (#25324)
2019-03-27 14:16:38 +01:00
Arnout Engelen
b214115051
Update scalatest 2019-03-19 11:25:48 +01:00
kerr
7649264998 Deprecated the after pattern supporting methods which accept a value of Future or CompletionStage. (#25817) 2019-03-15 10:11:55 +01:00
Nicolas Vollmar
44709e6bba Adds docs for actorRef stream integration #24595 2019-03-08 17:13:59 +01:00
Nicolas Vollmar
4bf1ba0bf0 Updates deprecations and documentation #26156 2019-03-07 09:58:31 +01:00
Nicolas Vollmar
9233ff5a40 Adapts and improves documentation #26156 2019-03-07 08:09:11 +01:00
Seth Tisue
fc23f03031 upgrade to latest ScalaTest (#26387)
stuff moved to a new package. you wouldn't expect that in a point
release, but they put type aliases in place so Scala users wouldn't
notice. but the change is visible to Java code.

the upgrade is not strictly necessary, but it would be convenient
for the Scala 2.13 community build to have this merged, so I don't
have to maintain these changes in our Akka fork
2019-02-17 19:45:39 +00:00