Commit graph

130 commits

Author SHA1 Message Date
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Roland Kuhn
d9efd041f7 add akka-typed project with generic ActorRef
This is the first step towards more type-safety in Actor interactions,
comprising:

* generic ActorRef[T] that only accepts T messages
* generic ActorSystem[T] extends ActorRef[T] (sending to the guardian,
  whose Props[T] are provided for ActorSystem construction)
* removed the Actor trait: everything in there has been made into
  messages and signals
* new Behavior[T] abstraction that consumes messages (of type T) or
  Signals (lifecycle hooks, Terminated, ReceiveTimeout, Failed),
  producing the next Behavior[T] as the result each time
* the ask pattern is provided and yields properly typed Futures
* variants of ActorContext are provided for synchronous testing of
  Behaviors

All of this is implemented without touching code outside akka-typed
(apart from making guardianProps configurable), creating wrapper objects
around ActorRef, ActorContext, ActorSystem, Props and providing an Actor
implementation that just runs a Behavior.
2015-01-29 11:42:28 +01:00
Roland Kuhn
168cc74e8a =act #15865 add LogEvent.getMDC Java API 2015-01-27 18:34:07 +01:00
tomekl007
7cd4a68cee +act #16245 receive builder works with generic messages
UnitPFBuilder use CaseStatements as previously, because apply is cast to exact type ( not ? extends T )
PFBuilder.match working with generic messages
2014-11-19 15:34:14 +01:00
Patrik Nordwall
018e0c33b5 Merge pull request #15465 from akka/wip-15284-throws-annotation-master-patriknw
+act #15284 Add throws TimeoutException to Inbox.receive
2014-06-27 14:56:23 +02:00
Patrik Nordwall
3a94510869 +act #15284 Add throws TimeoutException to Inbox.receive
(cherry picked from commit ab19cc8a527f1a01a8180c2b199affcb47e5b1d2)
2014-06-27 12:29:11 +02:00
Patrik Nordwall
7616a41733 =act #15361 Require non-abstract actor class (earlier)
* It was detected previously as well when trying to find constructor,
  but with a perhaps confusing error message

(cherry picked from commit 15e964b13e91962474c7907787c37121aae8fd4e)
2014-06-27 12:21:53 +02:00
Johannes Rudolph
657afbd859 +act #15383 add strict japi.Option.getOrElse to simplify working with options from Java 2014-06-24 13:29:16 +02:00
Patrik Nordwall
1e445b4eba !act,rem,clu #3920 Remove deprecated old routers 2014-03-14 14:12:11 +01:00
Björn Antonsson
c432b3e2f0 +act #3873 Adding Props.create method with manifested type
The generated classes for Java 8 lambdas doesn't carry the type information that we need, so we need to pass in the return type of the Creator.
2014-02-13 16:40:11 +01:00
Adam Voss
cce29dfa51 Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
Björn Antonsson
e5bcf8bfc9 +act #3770 Added Java 8 friendly APIs for Actor and FSM 2014-01-20 12:00:13 +01:00
Roland Kuhn
5bcb750441 !act,doc,rem,tes 3823 remove deprecated Props methods
- rewrite deprecated usages to their recommended counterparts
- TestActorRef now verifies mailbox requirements
- CallingThreadMailbox now exposes proper messageQueue type for
  inspection
2014-01-17 09:12:44 +01:00
Gaston M. Tonietti
9e9d5541b4 +act #3671 Implementing support for MDC values defined by the application. Fixes #3671.
* Added LogEvent subclasses with new field for transporting the MDC custom values.
* Slf4jLogger now takes MDC values from new LogEvent field, puts all in MDC before appending the log, and removes all after.
* New trait DiagnosticLoggingAdapter was introduced, which extends LoggingAdapter and adds MDC support with methods to get, set and clear MDC values.
* New factory method added to Logging for getting loggers with MDC support.
* BusLogging was changed to create new LogEvents including the MDC values.
* Actors can mixin with DiagnosticActorLogging which defines a diagnostic logger "log", has a hook to override for defining MDC values per message, and overrides aroundReceive for setting and clearing MDC around receive execution.
* Proper documentation was added for Scala and Java under the Logging/Slf4j section.
2013-11-15 11:09:22 -03:00
Patrik Nordwall
ebadd567b2 !act,rem,clu #3549 Simplify and enhance routers
* Separate routing logic, to be usable stand alone, e.g. in actors
* Simplify RouterConfig, only a factory
* Move reading of config from Deployer to the RouterConfig
* Distiction between Pool and Group router types
* Remove usage of actorFor, use ActorSelection
* Management messages to add and remove routees
* Simplify the internals of RoutedActorCell & co
* Move resize specific code to separate RoutedActorCell subclass
* Change resizer api to only return capacity change
* Resizer only allowed together with Pool
* Re-implement all routers, and keep old api during deprecation phase
* Replace ClusterRouterConfig, deprecation
* Rewrite documentation
* Migration guide
* Also includes related ticket:
  +act #3087 Create nicer Props factories for RouterConfig
2013-10-16 09:27:13 +02:00
Endre Sándor Varga
5e3dcaa0da +act #3532: Add ask support for Java API 2013-08-20 13:25:27 +02:00
Endre Sándor Varga
cebdc7202b =doc:3472 Updated Stash docs to reflect new mailbox requirements 2013-07-08 19:17:08 +02:00
Patrik Nordwall
930c53d3bc Handle null constructor parameters, see #3486 2013-07-05 11:21:26 +02:00
Viktor Klang
e561999a85 #3438 - Adding support for non-static top-level classes in check constructors 2013-06-19 03:08:38 +02:00
Roland
f317aaf711 rewrite mailbox selection logic, see #3342
- add “mailbox-requirement” key to dispatcher section
- split out mailbox section, add akka.actor.default-mailbox
- rewrite findMarker method and use it for Props.create() and getting
  the required mailbox of an actor
- add ProducesMessageQueue trait for MailboxType so that requirements
  can be checked before trying to create the actor for real
- verify actor as well as dispatcher requirements for message queue
  before creation, even in remote-deployed case
- change MessageDispatcher constructor to take a Configurator, add that
  to migration guide
2013-06-02 12:32:04 +02:00
Roland
f8fa825e48 improve safety of Props.create by allowing Creator<T>, see #3377
Props constructors need to be deprecated instead of being mutated
because we cannot just start throwing exceptions in people’s existing
code. Props.withCreator is deprecated for similar reasons, but also
because Props are about the creators, so replacing that after the fact
is not good style.
2013-05-29 23:40:27 +02:00
Roland
479c5170cd fix StashJavaAPI test (i.e. make it test something) 2013-05-22 11:49:30 +02:00
Björn Antonsson
e00ab533bb Wait on shutdown of extra actor systems in tests. See #3217 2013-05-07 11:02:03 +02:00
Roland
ddf2117ed7 remove ActorRef#tell(Any), see #3293
also remove FakeActorRef from SerCompSpec
2013-05-03 21:39:29 +02:00
drexin
308428e7bc removed calls to deprecated Props constructor in java code 2013-05-02 17:00:44 +02:00
Viktor Klang
adfeb2c1f0 #2879 - updating copyright info 2013-01-09 11:38:00 +01:00
Viktor Klang
146834832d #2810 - Adding a Java API for JavaSerializer.currentSystem + added tests 2012-12-18 01:25:21 +01:00
Viktor Klang
8194ddd13c #2703 - unprivatizing NoLogging and adding a Java API for obtaining the reference 2012-11-16 16:15:44 +01:00
Viktor Klang
b00c47854b Switching over to immutable.Iterable where possible 2012-11-14 16:24:25 +01:00
Roland
0f04239f67 move Duration classes according to scala 2.10 nightly and remove casts to FiniteDuration, see #2504 2012-10-11 15:18:10 -07:00
Roland
ce49ffe3c6 remove all but one occurrence of single-arg tell() 2012-09-19 23:55:53 +02:00
Patrik Nordwall
9ec7645617 Support load of extensions without specifying trailing $, see #2496
* Backwards compatible, i.e. still possible to use $
* DynamicAccess tries first with $ in getObjectFor, then falls back
  to fqcn as is
2012-09-18 15:51:26 +02:00
Roland
a15900a591 port onto SBT-0.12 branch 2012-08-22 11:10:36 +02:00
Roland
faae09ab4e add docs for ExtractRoute, see #2337 2012-07-25 20:48:32 +02:00
Viktor Klang
94e8d201f0 Removing ExecutionContext from some signatures in Future.scala, changing copyright to Akka for BatchingExecutor 2012-07-22 13:38:12 +02:00
Viktor Klang
ac5b5de90a Merging in master, huge work trying to get things to compile, tests not green at this stage 2012-07-06 17:04:04 +02:00
Viktor Klang
52d33113d9 Partial work + broken commit 2012-07-04 15:25:30 +02:00
Viktor Klang
0bf45a9403 Initial work in moving to scala.concurrent.Await + Awaitable 2012-06-29 16:06:26 +02:00
Viktor Klang
54a3a44bf8 #2292 - Removing akka.util.Duration etc and replace it with scala.concurrent.util.Duration 2012-06-29 13:33:20 +02:00
Viktor Klang
d08489c17b Making sure that akka-actor and akka-actor-tests compile and tests are green 2012-06-25 13:56:11 +02:00
Viktor Klang
1711934043 Mergin in the latest master 2012-06-20 11:28:40 +02:00
Viktor Klang
cd0c89d939 Adding -feature and trying to find scala versions for our akka-actor-test dependencies. Also updating the version of Scalatest, specs2 and junit 2012-06-15 13:04:10 +02:00
Viktor Klang
1eb6681b3c Removing horrid IDEA autogenerated section and adding Typesafe copyright to NonPublicClass.java 2012-06-13 15:11:19 +02:00
Viktor Klang
8ce6ac3e3e #2217 - setting accessible = true before newInstance 2012-06-13 12:23:02 +02:00
Viktor Klang
a863f135e0 #2020 - Adding 'checkedApply' to Mapper to allow for binary compatible retrofit. And then @throws on the other Java Callbacks 2012-04-24 17:56:18 +02:00
Roland
201885d125 incorporate Viktor’s review
- rename instance() to getInstance()
- add ScalaDoc
- some formatting
2012-04-10 16:59:23 +02:00
Roland
b6db48818a add Java API for most case objects
- “case object” will emit a concrete class without constructor, so put
  abstract class in its way in order to obtain an accessible type for
  Scala & Java (i.e. without $)
- add “def instance = this” to make access uniform from Java
- this does not work for nested case objects because of missing static
  forwarders, so keep those as they were
- fix issue with case object FromConfig colliding with case class
  FromConfig by open-coding the “case”iness in this case (should be
  thrown out in 2.1)
2012-04-10 16:59:15 +02:00
Roland
73170d1f4b Merge remote-tracking branch 'origin/master' into testing-2.9.2 2012-02-28 10:52:27 +01:00
phaller
00e5bf3bdf Add Java API class UntypedActorWithStash. Add tests for Stash Java API. 2012-02-27 22:38:26 +01:00
Viktor Klang
46b9b3cd43 Removing the Filter class, keeping Filter.filterOf 2012-02-27 11:08:02 +01:00