Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
protected void persistenceEventSrc(ActorSystem system,SpringExtension ext) { new TestKit(system) {{ ActorRef probe = getRef(); Props examplePersistentActor = ext.props("examplePersistentActor"); System.out.println("eventActor 액터생성"); ActorRef eventActor = system.actorOf(examplePersistentActor, "eventActor"); System.out.println("event 생성"); eventActor.tell(new Cmd("test1"), ActorRef.noSender()); eventActor.tell(new Cmd("test2"), ActorRef.noSender()); eventActor.tell(new Cmd("test3"), ActorRef.noSender()); eventActor.tell(new Cmd("test4"), ActorRef.noSender()); System.out.println("event 재생"); eventActor.tell( "print" , ActorRef.noSender()); expectNoMessage(java.time.Duration.ofSeconds(1)); System.out.println("eventActor 종료또는 비정상종료"); eventActor.tell( akka.actor.PoisonPill.getInstance() , ActorRef.noSender()); expectNoMessage(java.time.Duration.ofSeconds(1)); System.out.println("eventActor 재생성"); ActorRef eventActor2 = system.actorOf(examplePersistentActor, "eventActor"); System.out.println("event 복원확인"); eventActor2.tell( "print" , ActorRef.noSender()); expectNoMessage(java.time.Duration.ofSeconds(1)); }}; } |
이벤트 소싱의 Flow를 간단하게 확인할수 있는 TestCode입니다.
특정한 기능 목적을 두지는 않았지만, 장바구니에 활용될수 있으며 예를 들면 장바구니를 담고뺀 순서를 알수 있으며
마지막 장바구니에 담긴 물건의 최종상태도 알수가 있으며, 필요에 따라 분산된 저장소를 통해 복원도 가능하게됩니다.
Expand | ||
---|---|---|
| ||
[INFO] [06/11/2018 10:37:26.066] [main] [akka.persistence.Persistence(akka://AkkaTestApp)] Auto-starting journal plugin `akka.persistence.journal.inmem` |
이벤트 소싱의 Flow를 간단하게 확인할수 있는 TestCode입니다.
특정한 기능 목적을 두지는 않았지만, 장바구니에 활용될수 있으며 예를 들면 장바구니를 담고뺀 순서를 알수 있으며
마지막 장바구니에 담긴 물건의 최종상태도 알수가 있으며, 필요에 따라 분산된 저장소를 통해 복원도 가능하게됩니다.
참고자료: https://doc.akka.io/docs/akka/current/persistence.html