Package org.akka.essentials.stm.transactor.example2

Source Code of org.akka.essentials.stm.transactor.example2.BankApplication

package org.akka.essentials.stm.transactor.example2;

import org.akka.essentials.stm.transactor.example2.msg.AccountBalance;
import org.akka.essentials.stm.transactor.example2.msg.TransferMsg;

import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Props;

public class BankApplication {
  ActorSystem _system = ActorSystem.apply("STM-Example");
  ActorRef bank = _system.actorOf(new Props(BankActor.class), "BankActor");

  public static void main(String args[]) {

    BankApplication bankApp = new BankApplication();

    bankApp.showBalances();

    bankApp.bank.tell(new TransferMsg(Float.valueOf("1500")));

    bankApp.showBalances();

    bankApp.bank.tell(new TransferMsg(Float.valueOf("1400")));

    bankApp.showBalances();

    bankApp.bank.tell(new TransferMsg(Float.valueOf("3500")));

    bankApp.showBalances();

    bankApp._system.shutdown();

  }

  private void showBalances() {
    try {
      Thread.sleep(2000);
      bank.tell(new AccountBalance("XYZ"));
      bank.tell(new AccountBalance("ABC"));

    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
TOP

Related Classes of org.akka.essentials.stm.transactor.example2.BankApplication

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.