Create a child Actor based on the received message ID











up vote
0
down vote

favorite












The parent actor creates a child actor based on the identity in the received message, and the same message ID will reuse the child actor. What should I do? I am using this way now.



override def receive: Receive = {
case location: DeviceLocationInfo =>
log.info(s"$location")
val settings = CacheBasicAlarmSettingInRedis(system)
.memoizeInRedisBasicAlarmSetting(location.deviceId)
settings foreach { setting =>
val actorRef = context.child(location.deviceId)
.getOrElse(context.actorOf(Props(new OverSpeedAlarm),location.deviceId))
actorRef ! location
}

case _ =>
}









share|improve this question









New contributor




lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    up vote
    0
    down vote

    favorite












    The parent actor creates a child actor based on the identity in the received message, and the same message ID will reuse the child actor. What should I do? I am using this way now.



    override def receive: Receive = {
    case location: DeviceLocationInfo =>
    log.info(s"$location")
    val settings = CacheBasicAlarmSettingInRedis(system)
    .memoizeInRedisBasicAlarmSetting(location.deviceId)
    settings foreach { setting =>
    val actorRef = context.child(location.deviceId)
    .getOrElse(context.actorOf(Props(new OverSpeedAlarm),location.deviceId))
    actorRef ! location
    }

    case _ =>
    }









    share|improve this question









    New contributor




    lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      The parent actor creates a child actor based on the identity in the received message, and the same message ID will reuse the child actor. What should I do? I am using this way now.



      override def receive: Receive = {
      case location: DeviceLocationInfo =>
      log.info(s"$location")
      val settings = CacheBasicAlarmSettingInRedis(system)
      .memoizeInRedisBasicAlarmSetting(location.deviceId)
      settings foreach { setting =>
      val actorRef = context.child(location.deviceId)
      .getOrElse(context.actorOf(Props(new OverSpeedAlarm),location.deviceId))
      actorRef ! location
      }

      case _ =>
      }









      share|improve this question









      New contributor




      lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      The parent actor creates a child actor based on the identity in the received message, and the same message ID will reuse the child actor. What should I do? I am using this way now.



      override def receive: Receive = {
      case location: DeviceLocationInfo =>
      log.info(s"$location")
      val settings = CacheBasicAlarmSettingInRedis(system)
      .memoizeInRedisBasicAlarmSetting(location.deviceId)
      settings foreach { setting =>
      val actorRef = context.child(location.deviceId)
      .getOrElse(context.actorOf(Props(new OverSpeedAlarm),location.deviceId))
      actorRef ! location
      }

      case _ =>
      }






      akka






      share|improve this question









      New contributor




      lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 17 hours ago









      Stijn

      15.7k977126




      15.7k977126






      New contributor




      lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 17 hours ago









      lei zhang

      11




      11




      New contributor




      lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      lei zhang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          lei zhang is a new contributor. Be nice, and check out our Code of Conduct.










           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53237527%2fcreate-a-child-actor-based-on-the-received-message-id%23new-answer', 'question_page');
          }
          );

          Post as a guest





































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          lei zhang is a new contributor. Be nice, and check out our Code of Conduct.










           

          draft saved


          draft discarded


















          lei zhang is a new contributor. Be nice, and check out our Code of Conduct.













          lei zhang is a new contributor. Be nice, and check out our Code of Conduct.












          lei zhang is a new contributor. Be nice, and check out our Code of Conduct.















           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53237527%2fcreate-a-child-actor-based-on-the-received-message-id%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          Popular posts from this blog

          Florida Star v. B. J. F.

          Danny Elfman

          Lugert, Oklahoma