55import lombok .Getter ;
66import lombok .Setter ;
77import lombok .extern .slf4j .Slf4j ;
8- import org .springframework .beans .BeanUtils ;
98import syncer .syncerplusredis .cmd .impl .DefaultCommand ;
109import syncer .syncerplusredis .event .Event ;
1110import syncer .syncerplusredis .rdb .datatype .DB ;
@@ -50,19 +49,17 @@ public void run(Replicator replicator, KeyValueEventEntity eventEntity) throws F
5049 try {
5150
5251
53- //DUMP格式数据
54- Event event =eventEntity .getEvent ();
52+ //DUMP格式数据
53+ Event event =eventEntity .getEvent ();
5554 if (event instanceof DumpKeyValuePair ) {
5655 DumpKeyValuePair dumpKeyValuePair = (DumpKeyValuePair ) event ;
5756
5857 if (null ==dumpKeyValuePair .getValue ()||null ==dumpKeyValuePair .getKey ()){
5958 return ;
6059 }
6160 DB db = dumpKeyValuePair .getDb ();
62- DB newDb =new DB ();
63- BeanUtils .copyProperties (db ,newDb );
6461 try {
65- dbMapping (eventEntity ,newDb );
62+ dbMapping (eventEntity ,db );
6663 } catch (KeyWeed0utException e ) {
6764 log .info ("全量数据key[{}]不符合DB映射规则,被抛弃.." , JSON .toJSONString (eventEntity ));
6865 //抛弃此kv
@@ -83,10 +80,8 @@ public void run(Replicator replicator, KeyValueEventEntity eventEntity) throws F
8380
8481
8582 DB db = batchedKeyValuePair .getDb ();
86- DB newDb =new DB ();
87- BeanUtils .copyProperties (db ,newDb );
8883 try {
89- dbMapping (eventEntity ,newDb );
84+ dbMapping (eventEntity ,db );
9085 } catch (KeyWeed0utException e ) {
9186 log .info ("全量数据key[{}]不符合DB映射规则,被抛弃.." , JSON .toJSONString (eventEntity ));
9287 //抛弃此kv
@@ -121,8 +116,8 @@ public void run(Replicator replicator, KeyValueEventEntity eventEntity) throws F
121116
122117 }
123118
124- //继续执行下一Filter节点
125- toNext (replicator ,eventEntity );
119+ //继续执行下一Filter节点
120+ toNext (replicator ,eventEntity );
126121 }catch (Exception e ){
127122 throw new FilterNodeException (e .getMessage ()+"->KeyValueEventDBMappingFilter" ,e .getCause ());
128123 }
@@ -151,35 +146,26 @@ public void setNext(CommonFilter nextFilter) {
151146 void dbMapping (KeyValueEventEntity eventEntity ,DB db ) throws KeyWeed0utException {
152147 Event event =eventEntity .getEvent ();
153148 long dbbnum =db .getDbNumber ();
154- int dbNumInt = Math .toIntExact (db .getDbNumber ());
155-
156149 if (null != eventEntity .getDbMapper () && eventEntity .getDbMapper ().size () > 0 ) {
157- if (eventEntity .getDbMapper ().containsKey (dbNumInt )) {
158- dbbnum = eventEntity .getDbMapper ().get (dbNumInt );
150+ if (eventEntity .getDbMapper ().containsKey (( int ) db . getDbNumber () )) {
151+ dbbnum = eventEntity .getDbMapper ().get (( int ) db . getDbNumber () );
159152 } else {
160153 //忽略本key
154+
161155 throw new KeyWeed0utException ("key抛弃" );
156+
162157 }
163158 }
164-
165159 if (event instanceof DumpKeyValuePair ) {
166160 DumpKeyValuePair dumpKeyValuePair = (DumpKeyValuePair ) event ;
167-
168- // DB dbn=dumpKeyValuePair.getDb();
169- // dbn.setDbNumber(dbbnum);
170- // dumpKeyValuePair.setDb(dbn);
171-
172- db .setDbNumber (dbbnum );
173- dumpKeyValuePair .setDb (db );
174-
161+ DB dbn =dumpKeyValuePair .getDb ();
162+ dbn .setDbNumber (dbbnum );
163+ dumpKeyValuePair .setDb (dbn );
175164 eventEntity .setEvent (dumpKeyValuePair );
176165 }else if (event instanceof BatchedKeyValuePair <?, ?>){
177166 BatchedKeyValuePair batchedKeyValuePair = (BatchedKeyValuePair ) event ;
178- // DB dbn=batchedKeyValuePair.getDb();
179- // dbn.setDbNumber(dbbnum);
180-
181- db .setDbNumber (dbbnum );
182- batchedKeyValuePair .setDb (db );
167+ DB dbn =batchedKeyValuePair .getDb ();
168+ dbn .setDbNumber (dbbnum );
183169 eventEntity .setEvent (batchedKeyValuePair );
184170 }
185171 eventEntity .setDbNum (dbbnum );
0 commit comments