|
@@ -31,6 +31,7 @@ import org.dbsyncer.parser.util.PickerUtil;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.util.Assert;
|
|
import org.springframework.util.Assert;
|
|
|
|
|
|
@@ -73,6 +74,7 @@ public class IncrementPuller extends AbstractPuller implements ScheduledTaskJob
|
|
@Autowired
|
|
@Autowired
|
|
private ConnectorFactory connectorFactory;
|
|
private ConnectorFactory connectorFactory;
|
|
|
|
|
|
|
|
+ @Qualifier("taskExecutor")
|
|
@Autowired
|
|
@Autowired
|
|
private Executor taskExecutor;
|
|
private Executor taskExecutor;
|
|
|
|
|
|
@@ -240,10 +242,12 @@ public class IncrementPuller extends AbstractPuller implements ScheduledTaskJob
|
|
@Override
|
|
@Override
|
|
public void changedEvent(RowChangedEvent rowChangedEvent) {
|
|
public void changedEvent(RowChangedEvent rowChangedEvent) {
|
|
final FieldPicker picker = tablePicker.get(rowChangedEvent.getTableGroupIndex());
|
|
final FieldPicker picker = tablePicker.get(rowChangedEvent.getTableGroupIndex());
|
|
- rowChangedEvent.setTableName(picker.getTableGroup().getSourceTable().getName());
|
|
|
|
|
|
+ TableGroup tableGroup = picker.getTableGroup();
|
|
|
|
+ rowChangedEvent.setSourceTableName(tableGroup.getSourceTable().getName());
|
|
|
|
+ rowChangedEvent.setTargetTableName(tableGroup.getTargetTable().getName());
|
|
|
|
|
|
// 处理过程有异常向上抛
|
|
// 处理过程有异常向上抛
|
|
- parser.execute(mapping, picker.getTableGroup(), rowChangedEvent);
|
|
|
|
|
|
+ parser.execute(mapping, tableGroup, rowChangedEvent);
|
|
|
|
|
|
// 标记有变更记录
|
|
// 标记有变更记录
|
|
changed.compareAndSet(false, true);
|
|
changed.compareAndSet(false, true);
|
|
@@ -296,7 +300,7 @@ public class IncrementPuller extends AbstractPuller implements ScheduledTaskJob
|
|
@Override
|
|
@Override
|
|
public void changedEvent(RowChangedEvent rowChangedEvent) {
|
|
public void changedEvent(RowChangedEvent rowChangedEvent) {
|
|
// 处理过程有异常向上抛
|
|
// 处理过程有异常向上抛
|
|
- List<FieldPicker> pickers = tablePicker.get(rowChangedEvent.getTableName());
|
|
|
|
|
|
+ List<FieldPicker> pickers = tablePicker.get(rowChangedEvent.getSourceTableName());
|
|
if (!CollectionUtils.isEmpty(pickers)) {
|
|
if (!CollectionUtils.isEmpty(pickers)) {
|
|
pickers.parallelStream().forEach(picker -> {
|
|
pickers.parallelStream().forEach(picker -> {
|
|
final Map<String, Object> before = picker.getColumns(rowChangedEvent.getBeforeData());
|
|
final Map<String, Object> before = picker.getColumns(rowChangedEvent.getBeforeData());
|
|
@@ -304,6 +308,7 @@ public class IncrementPuller extends AbstractPuller implements ScheduledTaskJob
|
|
if (picker.filter(StringUtil.equals(ConnectorConstant.OPERTION_DELETE, rowChangedEvent.getEvent()) ? before : after)) {
|
|
if (picker.filter(StringUtil.equals(ConnectorConstant.OPERTION_DELETE, rowChangedEvent.getEvent()) ? before : after)) {
|
|
rowChangedEvent.setBefore(before);
|
|
rowChangedEvent.setBefore(before);
|
|
rowChangedEvent.setAfter(after);
|
|
rowChangedEvent.setAfter(after);
|
|
|
|
+ rowChangedEvent.setTargetTableName(picker.getTableGroup().getTargetTable().getName());
|
|
parser.execute(mapping, picker.getTableGroup(), rowChangedEvent);
|
|
parser.execute(mapping, picker.getTableGroup(), rowChangedEvent);
|
|
}
|
|
}
|
|
});
|
|
});
|