반응형

2022.01.19 - [개발/spring] - [axon] state stored aggregate - clone coding

 

[axon] state stored aggregate - clone coding

2022.01.18 - [개발/spring] - [axon] snapshot - clone coding [axon] snapshot - clone coding 2022.01.12 - [개발/spring] - [axon] difficulties while clone coding [axon] difficulties while clone coding..

bangpurin.tistory.com

 

저번 글에 이어서 드디어 query application 을 개발한다.

 클론 코딩 참고 블로그는 다음와 같다: https://cla9.tistory.com/16?category=814447 

 

12. Query 어플리케이션 구현(Event) - 2

1. 서론 이번 시간에는 Query App의 EventHandler 로직을 구현하도록 하겠습니다. Query App의 Read Model은 이전 포스팅에서 도출한 구조를 사용하도록 하겠습니다. 2. Projection 구현 Command에서 발생된 Event..

cla9.tistory.com

 

어플리케이션을 실행하니까, 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=?

찾아보니 이벤트 갱신내용 확인하려고 그런다는 것 같다.

https://stackoverflow.com/questions/68209494/why-is-token-entry-constantly-updated-when-using-saga-of-axon-framework

 

Why is 'token_entry' constantly updated when using saga of axon framework?

I made up project with spring boot & jpa(mysql) & axon framework. (I used only the Axon auto configuration.) And, I wrote the sagas of the axon framework as below. @Saga class OrderSagaMana...

stackoverflow.com

 

 


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에 대한 속도도 느릴 것 같은데, 다음 시간에 성능 개선을 한다고 한다..!

728x90
반응형

+ Recent posts