Hi,

 I get the following warning:

[WARN] [08/25/2014 22:06:40.653] 
[NfaCluster-akka.actor.default-dispatcher-18] 
[akka.tcp://[email protected]:2552/user/singleCampaignPrizes] unhandled 
event 
PersistentImpl(PrizeCreated(3,T118),1,/user/sharding/PrizePool/T118-3,false,Collections(),Actor[akka.tcp://[email protected]:2553/user/$c#2011411521])
 
in state Oldest

And the event is not handled by the FSM, of course. The state Oldest does 
not exist, and is not defined by me? Where doest this state come from? Any 
ideas? There is an event handler of course for the event:

import akka.actor.{ActorLogging, FSM, Props}
import akka.persistence.{Persistent, Processor}
import nl.novamedia.nfa.instantwin.CampaignPrizesLike._
import nl.novamedia.nfa.instantwin.events.v1.cp.{Activate, Deactivate, 
IsInstantWinCampaign}
import nl.novamedia.nfa.instantwin.events.v1.pcv.PrizeCreated

import scala.util.{Failure, Success}

object CampaignPrizesLike {
  sealed trait State
  case object NoState extends State

  sealed trait Data
  case class CampaignPrizesState(campaigns: Map[String, CampaignState] = 
Map.empty[String, CampaignState]) extends Data

  case class CampaignState(active: Boolean = false)
}

trait CampaignPrizesLike extends Processor with ActorLogging with 
FSM[State, Data] {
  startWith(NoState, CampaignPrizesState())

  when(NoState) {
    case Event(Persistent(PrizeCreated(ticketNumber, campaignId), _), data: 
CampaignPrizesState) =>
      recoveryRunning match {
        case true =>
          stay() using data.copy(campaigns = data.campaigns + (campaignId 
-> CampaignState()))
        case false =>
          log.info("Prize created, ticketNumber: {}, campaignId: {}", 
ticketNumber, campaignId)
          stay() using data.copy(campaigns = data.campaigns + (campaignId 
-> CampaignState())) replying Success((ticketNumber, campaignId))
      }

    case Event(Persistent(Activate(campaignId), _), data: 
CampaignPrizesState) =>
      recoveryRunning match {
        case true =>
          stay() using data.copy(campaigns = data.campaigns + (campaignId 
-> CampaignState(active = true)))
        case false =>
          log.info("Activating campaign: {}", campaignId)
          val newData = data.copy(campaigns = data.campaigns + (campaignId 
-> CampaignState(active = true)))
          stay() using newData replying Success((campaignId, 
newData.campaigns.get(campaignId)))
      }

    case Event(Persistent(Deactivate(campaignId), _), data: 
CampaignPrizesState) =>
      recoveryRunning match {
        case true =>
          stay() using data.copy(campaigns = data.campaigns + (campaignId 
-> CampaignState(active = false)))
        case false =>
          log.info("Deactivating campaign: {}", campaignId)
          val newData = data.copy(campaigns = data.campaigns + (campaignId 
-> CampaignState(active = false)))
          stay() using newData replying Success((campaignId, 
newData.campaigns.get(campaignId)))
      }

    case Event(IsInstantWinCampaign(campaignId), data: CampaignPrizesState) 
=>
      data.campaigns.get(campaignId) match {
        case None => stay() replying Failure(new Error("No InstantWin 
campaign"))
        case Some(_) => stay() replying Success(true)
      }

    case Event(msg @ _, _) =>
      log.info("Unknown event: {}", msg)
      stay()
  }
}

object CampaignPrizes {
  def props = Props(new CampaignPrizes)
}

class CampaignPrizes extends CampaignPrizesLike

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to