=act #3572 Add parens to sender

* because it is not referentially transparent; normally we reserved parens for
  side-effecting code but given how people thoughtlessly close over it we revised
  that that decision for sender
* caller can still omit parens
This commit is contained in:
Patrik Nordwall 2014-01-16 15:16:35 +01:00
parent 537840bd2a
commit a11fb1dafc
202 changed files with 631 additions and 620 deletions

View file

@ -28,7 +28,7 @@ object Consumers {
def endpointUri = "jetty:http://localhost:8877/camel/default"
def receive = {
case msg: CamelMessage => sender ! ("Hello %s" format msg.bodyAs[String])
case msg: CamelMessage => sender() ! ("Hello %s" format msg.bodyAs[String])
}
}
//#Consumer2
@ -46,12 +46,12 @@ object Consumers {
def receive = {
case msg: CamelMessage =>
sender ! Ack
sender() ! Ack
// on success
// ..
val someException = new Exception("e1")
// on failure
sender ! Failure(someException)
sender() ! Failure(someException)
}
}
//#Consumer3
@ -65,7 +65,7 @@ object Consumers {
def endpointUri = "jetty:http://localhost:8877/camel/default"
override def replyTimeout = 500 millis
def receive = {
case msg: CamelMessage => sender ! ("Hello %s" format msg.bodyAs[String])
case msg: CamelMessage => sender() ! ("Hello %s" format msg.bodyAs[String])
}
}
//#Consumer4

View file

@ -19,7 +19,7 @@ object CustomRoute {
class Responder extends Actor {
def receive = {
case msg: CamelMessage =>
sender ! (msg.mapBody {
sender() ! (msg.mapBody {
body: String => "received %s" format body
})
}
@ -53,7 +53,7 @@ object CustomRoute {
handled(true).transform(Builder.exceptionMessage).end
final override def preRestart(reason: Throwable, message: Option[Any]) {
sender ! Failure(reason)
sender() ! Failure(reason)
}
}
//#ErrorThrowingConsumer

View file

@ -120,7 +120,7 @@ object Producers {
def receive = {
case msg =>
val template = CamelExtension(context.system).template
sender ! template.requestBody("direct:news", msg)
sender() ! template.requestBody("direct:news", msg)
}
}
//#RequestProducerTemplate

View file

@ -27,7 +27,7 @@ object PublishSubscribe {
def receive = {
case msg: CamelMessage => {
publisher ! msg.bodyAs[String]
sender ! ("message published")
sender() ! ("message published")
}
}
}