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.
