Skip to content

Commit

Permalink
Added some wiring code
Browse files Browse the repository at this point in the history
  • Loading branch information
henrikengstrom committed Aug 28, 2012
1 parent 727812f commit 8121574
Show file tree
Hide file tree
Showing 8 changed files with 114 additions and 3 deletions.
17 changes: 17 additions & 0 deletions processor/src/main/resources/application.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
akka {
event-handlers = ["akka.event.Logging$DefaultLogger"]
loglevel = "INFO"

actor {
provider = "akka.remote.RemoteActorRefProvider"
}

remote {
netty {
hostname = "127.0.0.1"
port = 2553
}
}
}

betting-service-actor = "akka:BettingServiceActorSystem//@127.0.0.1:2552/user/bettingService"
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/**
* Copyright (C) 2011-2012 Typesafe <http://typesafe.com/>
*/
package com.typesafe.akkademo.processor

import akka.kernel.Bootable
import akka.actor.{ Props, ActorSystem }
import com.typesafe.config._
import com.typesafe.akkademo.processor.service.BettingProcessor

class BettingProcessorApplication extends Bootable {
val config = ConfigFactory.load()
val system = ActorSystem("BettingProcessorActorSystem", config)

def startup = {
system.actorOf(Props[BettingProcessor], "bettingProcessor")
}

def shutdown = {
system.shutdown()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class BettingProcessor extends Actor {

/**s
* TASKS :
* Send remote registration message to service
* Create worker for dangerous task (using UnstableRepository actor)
* Supervise worker -> handle errors
* Send confirmation message back to Betting service
Expand All @@ -25,7 +26,7 @@ class BettingProcessor extends Actor {

// ADD YOUR CODE BELOW
m match {
case bet: PlayerBet =>
case bet: PlayerBet =>
}
}
}
3 changes: 2 additions & 1 deletion project/Build.scala
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ object AkkaDemoBuild extends Build {

object Dependencies {
import Dependency._
val akkademo = Seq(akkaActor, scalaTest, jUnit)
val akkademo = Seq(akkaActor, akkaKernel, scalaTest, jUnit)
}

object Dependency {
Expand All @@ -63,6 +63,7 @@ object Dependency {
// ---- Application dependencies ----

val akkaActor = "com.typesafe.akka" % "akka-actor" % Version.Akka
val akkaKernel = "com.typesafe.akka" % "akka-kernel" % Version.Akka

// ---- Test dependencies ----

Expand Down
17 changes: 17 additions & 0 deletions service/src/main/resources/application.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
akka {
event-handlers = ["akka.event.Logging$DefaultLogger"]
loglevel = "INFO"

actor {
provider = "akka.remote.RemoteActorRefProvider"
}

remote {
netty {
hostname = "127.0.0.1"
port = 2552
}
}
}

betting-processor-actor = "akka:BettingProcessorActorSystem//@127.0.0.1:2553/user/bettingProcessor"
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ class BettingService extends Actor {
* Create unique sequence/transaction number
* Create PlayerBet and call betting processor (remotely)
* Handle timed out transactions (scheduler)
* Handle registration message from betting processor + keep any message locally until there is a processor service available
*/

def receive = {
case bet: Bet =>
case bet: Bet =>
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/**
* Copyright (C) 2011-2012 Typesafe <http://typesafe.com/>
*/
package com.typesafe.akkademo.service

import akka.kernel.Bootable
import akka.actor.{ Props, ActorSystem }
import com.typesafe.config._

class BettingServiceApplication extends Bootable {
val config = ConfigFactory.load()
val system = ActorSystem("BettingServiceActorSystem", config)

def startup = {
system.actorOf(Props[BettingService], "bettingService")
}

def shutdown = {
system.shutdown()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/**
* Copyright (C) 2011-2012 Typesafe <http://typesafe.com/>
*/
import akka.actor.ActorSystem
import com.typesafe.config.ConfigFactory

object BettingServiceTester extends App {
println("*** STARTING TEST OF BETTING SERVICE")

val config = ConfigFactory.parseString("""
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
transport = "akka.remote.netty.NettyRemoteTransport"
netty {
hostname = "127.0.0.1"
port = 2661
}
}
}""")

// TODO : Implement better tests of the application

val system = ActorSystem("TestSystem", ConfigFactory.load(config))
val service = context.actorFor("akka://bettingServiceActorSystem@127.0.0.1:2552/user/bettingservice")
service ! Bet("ready_player_one", 1, 1)

println("*** DONE TESTING")
}

0 comments on commit 8121574

Please sign in to comment.