2022.01.19 - [개발/spring] - [axon] state stored aggregate - clone coding
저번 글에 이어서 드디어 query application 을 개발한다.
클론 코딩 참고 블로그는 다음와 같다: https://cla9.tistory.com/16?category=814447
어플리케이션을 실행하니까, hibernate log가 난리난다.. 밀린 모든 이벤트에 대한 프로젝션을 진행해서인 듯
Hibernate: create table mv_account (holder_id varchar(255) not null, account_cnt int8 not null, address varchar(255) not null, name varchar(255) not null, tel varchar(255) not null, total_balance int8 not null, primary key (holder_id))
Hibernate: select tokenentry0_.segment as col_0_0_ from token_entry tokenentry0_ where tokenentry0_.processor_name=? order by tokenentry0_.segment ASC
Hibernate: select tokenentry0_.segment as col_0_0_ from token_entry tokenentry0_ where tokenentry0_.processor_name=? order by tokenentry0_.segment ASC
Hibernate: select tokenentry0_.processor_name as processo1_3_0_, tokenentry0_.segment as segment2_3_0_, tokenentry0_.owner as owner3_3_0_, tokenentry0_.timestamp as timestam4_3_0_, tokenentry0_.token as token5_3_0_, tokenentry0_.token_type as token_ty6_3_0_ from token_entry tokenentry0_ where tokenentry0_.processor_name=? and tokenentry0_.segment=? for update
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
... 반복
Hibernate: select tokenentry0_.processor_name as processo1_3_0_, tokenentry0_.segment as segment2_3_0_, tokenentry0_.owner as owner3_3_0_, tokenentry0_.timestamp as timestam4_3_0_, tokenentry0_.token as token5_3_0_, tokenentry0_.token_type as token_ty6_3_0_ from token_entry tokenentry0_ where tokenentry0_.processor_name=? and tokenentry0_.segment=? for update
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: select holderacco0_.holder_id as holder_i1_1_0_, holderacco0_.account_cnt as account_2_1_0_, holderacco0_.address as address3_1_0_, holderacco0_.name as name4_1_0_, holderacco0_.tel as tel5_1_0_, holderacco0_.total_balance as total_ba6_1_0_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: insert into mv_account (account_cnt, address, name, tel, total_balance, holder_id) values (?, ?, ?, ?, ?, ?)
그냥 띄우기만 해도 select for update 96번; update 96번; insert 7번
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 45
위 로그가 0~45 까지 두 바퀴 돈 것으로 보아 아마 액션이 45번이었을 것 같고, 그놈의 결과를 aggregateId별로 group by하니까 아래와 같이 7건이 나온 것 같다.
헉 그런데 더 놀라운건, 서버를 단지 띄우기만 했는데도 아래의 쿼리문이 매 초 2번씩 실행된다는 것이다..
Hibernate: update token_entry set timestamp=? where processor_name=? and segment=? and owner=?
찾아보니 이벤트 갱신내용 확인하려고 그런다는 것 같다.
replay 란 토큰 정보를 초기화하여 처음부터 혹은 일정 시점부터 토큰을 다 지우고 새롭게 넣는 방법이다.
이번 실습에서는 전체 초기화 후 다시 넣는 방법을 사용한다. 위 블로그대로 구현하고 실행하면 아래와 같은 로그가 지나간다(일부 발췌).
// service reset 실행
// 1. trackingEventProcessor.shutDown();
// 2. trackingEventProcessor.resetTokens(); // 토큰초기화
// 3. trackingEventProcessor.start();
o.a.e.TrackingEventProcessor : Shutdown state set for Processor 'accounts'.
o.a.e.TrackingEventProcessor : Processor 'accounts' awaiting termination...
o.a.a.c.u.FlowControllingStreamObserver : Observer stopped
o.a.e.TrackingEventProcessor : Released claim
o.a.e.TrackingEventProcessor : Worker for segment Segment[0/0] stopped.
c.c.q.p.HolderAccountProjection : reset triggered
Hibernate: delete from mv_account where holder_id=?
Hibernate: delete from mv_account where holder_id=?
Hibernate: delete from mv_account where holder_id=?
Hibernate: delete from mv_account where holder_id=?
Hibernate: delete from mv_account where holder_id=?
Hibernate: delete from mv_account where holder_id=?
Hibernate: delete from mv_account where holder_id=?
o.a.e.TrackingEventProcessor : Worker assigned to segment Segment[0/0] for processing
o.a.e.TrackingEventProcessor : Using current Thread for last segment worker: TrackingSegmentWorker{processor=accounts, segment=Segment[0/0]}
o.a.e.TrackingEventProcessor : Fetched token: ReplayToken{currentToken=IndexTrackingToken{globalIndex=-1}, tokenAtReset=IndexTrackingToken{globalIndex=45}} for segment: Segment[0/0]
o.a.a.c.event.axon.AxonServerEventStore : open stream: 0
o.a.a.c.u.FlowControllingStreamObserver : Sending response to AxonServer platform, remaining permits: 2500
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 0
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 1
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 2
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 3
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 4
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 5
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 6
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 7
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 8
o.a.m.u.MessageProcessingContext : Adding handler org.axonframework.messaging.unitofwork.UnitOfWork$$Lambda$1477/0x0000000800a2b040 for phase COMMIT
o.a.m.u.MessageProcessingContext : Adding handler org.axonframework.messaging.unitofwork.UnitOfWork$$Lambda$1479/0x0000000800a2a840 for phase ROLLBACK
o.a.m.unitofwork.AbstractUnitOfWork : Starting Unit Of Work
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 9
o.a.m.u.MessageProcessingContext : Adding handler org.axonframework.messaging.unitofwork.AbstractUnitOfWork$$Lambda$1482/0x0000000800a2a440 for phase ROLLBACK
o.a.m.u.MessageProcessingContext : Notifying handlers for phase STARTED
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 10
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 11
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 12
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 13
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 14
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 15
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 16
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 17
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 18
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 19
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 20
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 21
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 22
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 23
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 24
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 25
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 26
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 27
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 28
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 29
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 30
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 31
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 32
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 33
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 34
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 35
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 36
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 37
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 38
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 39
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 40
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 41
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 42
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 43
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 44
o.a.a.c.event.axon.AxonServerEventStore : Received event with token: 45
o.a.m.u.MessageProcessingContext : Adding handler org.axonframework.eventhandling.TrackingEventProcessor$$Lambda$1488/0x0000000800a28c40 for phase PREPARE_COMMIT
c.c.q.p.HolderAccountProjection : >>> projecting HolderCreationEvent(holderID=9c53f4b2-9898-457f-a050-59dd012c8ddd, holderName=kevin, tel=02-1234-5678, address=OO시 OO구) , timestamp : 2022-01-13T06:45:47.273Z
o.a.m.unitofwork.AbstractUnitOfWork : Committing Unit Of Work
o.a.m.u.MessageProcessingContext : Notifying handlers for phase PREPARE_COMMIT
o.a.m.u.MessageProcessingContext : Notifying handlers for phase COMMIT
Hibernate: insert into mv_account (account_cnt, address, name, tel, total_balance, holder_id) values (?, ?, ?, ?, ?, ?)
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
o.a.m.u.MessageProcessingContext : Notifying handlers for phase AFTER_COMMIT
o.a.m.u.MessageProcessingContext : Notifying handlers for phase CLEANUP
o.a.m.u.MessageProcessingContext : Notifying handlers for phase CLOSED
//1-cycle example
o.a.m.unitofwork.AbstractUnitOfWork : Starting Unit Of Work
o.a.m.u.MessageProcessingContext : Notifying handlers for phase STARTED
Hibernate: select tokenentry0_.processor_name as processo1_3_0_, tokenentry0_.segment as segment2_3_0_, tokenentry0_.owner as owner3_3_0_, tokenentry0_.timestamp as timestam4_3_0_, tokenentry0_.token as token5_3_0_, tokenentry0_.token_type as token_ty6_3_0_ from token_entry tokenentry0_ where tokenentry0_.processor_name=? and tokenentry0_.segment=? for update
c.c.q.p.HolderAccountProjection : >>> projecting HolderCreationEvent(holderID=a00b1e82-252a-4d14-bc76-11a633514ece, holderName=kevin, tel=02-1234-5678, address=OO시 OO구) , timestamp : 2022-01-13T08:26:01.301Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_0_, holderacco0_.account_cnt as account_2_1_0_, holderacco0_.address as address3_1_0_, holderacco0_.name as name4_1_0_, holderacco0_.tel as tel5_1_0_, holderacco0_.total_balance as total_ba6_1_0_ from mv_account holderacco0_ where holderacco0_.holder_id=?
o.a.m.unitofwork.AbstractUnitOfWork : Committing Unit Of Work
o.a.m.u.MessageProcessingContext : Notifying handlers for phase PREPARE_COMMIT
o.a.m.u.MessageProcessingContext : Notifying handlers for phase COMMIT
Hibernate: insert into mv_account (account_cnt, address, name, tel, total_balance, holder_id) values (?, ?, ?, ?, ?, ?)
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
o.a.m.u.MessageProcessingContext : Notifying handlers for phase AFTER_COMMIT
o.a.m.u.MessageProcessingContext : Notifying handlers for phase CLEANUP
o.a.m.u.MessageProcessingContext : Notifying handlers for phase CLOSED
//45 loop
c.c.q.p.HolderAccountProjection : >>> projecting HolderCreationEvent(holderID=5cfc5832-d1b8-4f73-bf4f-2afa3cf7ffa4, holderName=kevin, tel=02-1234-5678, address=OO시 OO구) , timestamp : 2022-01-13T08:37:00.461Z
Hibernate: insert into mv_account (account_cnt, address, name, tel, total_balance, holder_id) values (?, ?, ?, ?, ?, ?)
c.c.q.p.HolderAccountProjection : >>> projecting HolderCreationEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, holderName=kevin, tel=02-1234-5678, address=OO시 OO구) , timestamp : 2022-01-18T03:06:26.829Z
Hibernate: insert into mv_account (account_cnt, address, name, tel, total_balance, holder_id) values (?, ?, ?, ?, ?, ?)
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
c.c.q.p.HolderAccountProjection : >>> projecting AccountCreationEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621) , timestamp : 2022-01-18T03:08:11.008Z
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting DepositMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=300) , timestamp : 2022-01-18T03:08:50.248Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
o.a.m.u.MessageProcessingContext : Adding handler org.axonframework.eventhandling.TrackingEventProcessor$$Lambda$1488/0x0000000800a28c40 for phase PREPARE_COMMIT
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T03:09:47.116Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T03:09:50.161Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T03:09:56.770Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T03:16:16.136Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting HolderCreationEvent(holderID=4eec3a20-efe0-4264-bbb5-ac3233c49960, holderName=kevin, tel=02-1234-5678, address=OO시 OO구) , timestamp : 2022-01-18T05:12:55.827Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_0_, holderacco0_.account_cnt as account_2_1_0_, holderacco0_.address as address3_1_0_, holderacco0_.name as name4_1_0_, holderacco0_.tel as tel5_1_0_, holderacco0_.total_balance as total_ba6_1_0_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: insert into mv_account (account_cnt, address, name, tel, total_balance, holder_id) values (?, ?, ?, ?, ?, ?)
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
c.c.q.p.HolderAccountProjection : >>> projecting AccountCreationEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=d1726ff3-ee98-4262-8232-bae85ad26b27) , timestamp : 2022-01-18T05:13:07.173Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting DepositMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=300) , timestamp : 2022-01-18T05:13:18Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T05:13:53.745Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T05:14:34.937Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T05:18:44.814Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T05:24:47.280Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T05:25:33.178Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T05:55:17.833Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T05:55:30.381Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T05:57:29.647Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=76147ef5-280f-439e-b017-bcd04028f176, accountID=2b158c88-b810-4643-9db4-4096edea5621, amount=10) , timestamp : 2022-01-18T06:26:39.681Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting HolderCreationEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, holderName=melvin, tel=02-1234-5678, address=OO시 OO구 hehe) , timestamp : 2022-01-18T06:54:22.558Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_0_, holderacco0_.account_cnt as account_2_1_0_, holderacco0_.address as address3_1_0_, holderacco0_.name as name4_1_0_, holderacco0_.tel as tel5_1_0_, holderacco0_.total_balance as total_ba6_1_0_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: insert into mv_account (account_cnt, address, name, tel, total_balance, holder_id) values (?, ?, ?, ?, ?, ?)
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
c.c.q.p.HolderAccountProjection : >>> projecting AccountCreationEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb) , timestamp : 2022-01-18T06:54:32.705Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting DepositMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=400) , timestamp : 2022-01-18T06:54:57.181Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T06:55:24.383Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T06:55:36.025Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T06:55:47.363Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T07:02:42.397Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T07:06:09.120Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting DepositMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=400) , timestamp : 2022-01-18T07:06:10.742Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T07:06:15.558Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T07:06:16.857Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting AccountCreationEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=0041f839-4ea4-42bf-94ca-6ebcbdaaf2ee) , timestamp : 2022-01-18T07:15:32.990Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T07:16:07.264Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting DepositMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=400) , timestamp : 2022-01-18T07:16:28.820Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T07:16:47.148Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T07:46:04.953Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T07:46:59.301Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=b232a9e8-d280-48bc-9d17-df03c9fe4071, accountID=f00088d7-c81a-432c-b010-28a88012f0eb, amount=10) , timestamp : 2022-01-18T08:11:22.699Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting HolderCreationEvent(holderID=65cc77b7-6820-472d-ba72-dd942f801f21, holderName=melvin, tel=02-1234-5678, address=OO시 OO구 hehe) , timestamp : 2022-01-19T04:23:43.806Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_0_, holderacco0_.account_cnt as account_2_1_0_, holderacco0_.address as address3_1_0_, holderacco0_.name as name4_1_0_, holderacco0_.tel as tel5_1_0_, holderacco0_.total_balance as total_ba6_1_0_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: insert into mv_account (account_cnt, address, name, tel, total_balance, holder_id) values (?, ?, ?, ?, ?, ?)
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
c.c.q.p.HolderAccountProjection : >>> projecting AccountCreationEvent(holderID=65cc77b7-6820-472d-ba72-dd942f801f21, accountID=fffb8fa2-94dd-4e84-b7fd-072d09d01d33) , timestamp : 2022-01-19T05:52:19.493Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting DepositMoneyEvent(holderID=65cc77b7-6820-472d-ba72-dd942f801f21, accountID=fffb8fa2-94dd-4e84-b7fd-072d09d01d33, amount=400) , timestamp : 2022-01-19T06:16:23.159Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting AccountCreationEvent(holderID=65cc77b7-6820-472d-ba72-dd942f801f21, accountID=38886d53-ad4c-4bfe-b61a-059948f4a2f5) , timestamp : 2022-01-19T06:25:34.896Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=65cc77b7-6820-472d-ba72-dd942f801f21, accountID=fffb8fa2-94dd-4e84-b7fd-072d09d01d33, amount=150) , timestamp : 2022-01-19T06:26:16.604Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
c.c.q.p.HolderAccountProjection : >>> projecting WithdrawMoneyEvent(holderID=65cc77b7-6820-472d-ba72-dd942f801f21, accountID=fffb8fa2-94dd-4e84-b7fd-072d09d01d33, amount=10) , timestamp : 2022-01-19T07:04:16.234Z
Hibernate: select holderacco0_.holder_id as holder_i1_1_, holderacco0_.account_cnt as account_2_1_, holderacco0_.address as address3_1_, holderacco0_.name as name4_1_, holderacco0_.tel as tel5_1_, holderacco0_.total_balance as total_ba6_1_ from mv_account holderacco0_ where holderacco0_.holder_id=?
Hibernate: update token_entry set owner=?, timestamp=?, token=?, token_type=? where processor_name=? and segment=?
Hibernate: update mv_account set account_cnt=?, address=?, name=?, tel=?, total_balance=? where holder_id=?
로그를 보니 디비 내용물을 다 지우고 처음부터 다시 넣는 것을 알 수 있으며, 디비 값을 조회했을 때 이전과 똑같은 결과가 나오는 것을 확인할 수 있다.
근데 왜 replay를 query 쪽에서 구현하는걸까.. 아마 이벤트에 대한 새로운 정보가 아닌(실시간으로 사용자의 이벤트에 기반한게 아닌), 과거의 행동의 재사용이라서 그러지 않을까 추측해본다.
그나저나 이벤트의 양이 많으면 replay에 대한 속도도 느릴 것 같은데, 다음 시간에 성능 개선을 한다고 한다..!
'개발 > axon framework' 카테고리의 다른 글
[axon] event upcasting - clone coding (0) | 2022.02.04 |
---|---|
[axon] query/replay 성능개선 - clone coding (0) | 2022.01.25 |
[axon] state stored aggregate - clone coding (0) | 2022.01.19 |
[axon] snapshot - clone coding (0) | 2022.01.18 |
[axon] command/query project 생성 - clone coding (0) | 2022.01.12 |