3

我想构建下一个结构:一个父(注册)节点,NAT后面的几个客户端节点。客户端节点将更改推送到父节点。

我以andSymmetricDS为例corpstore,对其进行配置,一切正常。然后我尝试将初始数据store改为corp

------------------------------------------------------------------------------
-- Sample Data
------------------------------------------------------------------------------
insert into "item" ("item_id", "name") values (11000001, 'Yummy Gum');
insert into "item_selling_price" ("item_id", "store_id", "price", "cost") values (11000001, '001',0.20, 0.10);
insert into "item_selling_price" ("item_id", "store_id", "price", "cost") values (11000001, '002',0.30, 0.20);

insert into "sale_transaction" ("tran_id", "store_id", "workstation", "day", "seq") 
values (900, '001', '3', '2012-12-01', 90);
insert into "sale_return_line_item" ("tran_id", "item_id", "price", "quantity", "returned_quantity")
values (900, 11000001, 0.20, 1, 0);

同步工作正常,但初始加载除外。

我尝试下一次重新加载:

重新corp加载时001

$ ../bin/symadmin --engine corp-000 reload-node 001

Log output will be written to ../logs/symmetric.log
[] - AbstractCommandLauncher - Option: name=engine, value={corp-000}
[corp-000] - PostgreSqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
[corp-000] - ExtensionPointManager - Found 6 extension points that will be registered
Successfully enabled initial load for node 001


[corp-000] - PurgeService - Purged all 0 incoming batch for node 001
[corp-000] - RouterService - Inserted reload events for node 001 in 223 ms
[corp-000] - RouterService - Routed 2 data events in 179 ms


[store-001] - PullService - Pull data received from corp:000:000.  1 rows and 1 batches were processed
[store-001] - PullService - Immediate pull requested while in reload mode
[store-001] - RouterService - Routed 1 data events in 337 ms
[store-001] - ConfigurationChangedFilter - About to syncTriggers because new configuration came through the data loader
[store-001] - TriggerRouterService - Synchronizing triggers
[store-001] - TriggerRouterService - Could not find any database tables matching 'sale_tender_line_item' in the datasource that is configured
[store-001] - TriggerRouterService - Done synchronizing triggers
[store-001] - PullService - Pull data received from corp:000:000.  2 rows and 2 batches were processed
[store-001] - PullService - Immediate pull requested while in reload mode
[store-001] - PullService - Pull data received from corp:000:000.  2 rows and 3 batches were processed
[store-001] - PullService - Immediate pull requested while in reload mode
[store-001] - PullService - Pull data received from corp:000:000.  2 rows and 4 batches were processed
[store-001] - PullService - Immediate pull requested while in reload mode
[store-001] - PullService - Pull data received from corp:000:000.  3 rows and 5 batches were processed
[store-001] - RouterService - Routed 1 data events in 509 ms

重新corp加载时000

$ ../bin/symadmin --engine corp-000 reload-node 000

Log output will be written to ../logs/symmetric.log
[] - AbstractCommandLauncher - Option: name=engine, value={corp-000}
[corp-000] - PostgreSqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
[corp-000] - ExtensionPointManager - Found 6 extension points that will be registered
Successfully enabled initial load for node 000


[corp-000] - RouterService - Routed 1 data events in 137 ms


[store-001] - PullService - Pull data received from corp:000:000.  1 rows and 1 batches were processed
[store-001] - RouterService - Routed 1 data events in 558 ms

重新store加载时001

$ ../bin/symadmin --engine store-001 reload-node 001

Log output will be written to ../logs/symmetric.log
[] - AbstractCommandLauncher - Option: name=engine, value={store-001}
[store-001] - MySqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.mysql.MySqlSymmetricDialect
[store-001] - ExtensionPointManager - Found 6 extension points that will be registered
Successfully enabled initial load for node 001


[store-001] - RouterService - Routed 1 data events in 222 ms

重新store加载时000

$ ../bin/symadmin --engine store-001 reload-node 000

Log output will be written to ../logs/symmetric.log
[] - AbstractCommandLauncher - Option: name=engine, value={store-001}
[store-001] - MySqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.mysql.MySqlSymmetricDialect
[store-001] - ExtensionPointManager - Found 6 extension points that will be registered
Successfully enabled initial load for node 000


[store-001] - RouterService - Routed 1 data events in 338 ms

我找到了这个文档http://www.symmetricds.org/doc/3.5/html-single/user-guide.html#configuration-initial-load-reverse并添加auto.reload.reverse=truestore属性文件,但初始加载仍然不起作用。

我试着把sym_parameter auto.reload

INSERT INTO sym_parameter (external_id,node_group_id,param_key,param_value)
VALUES ('000','corp','auto.reload','true');

auto.reload.reverse

INSERT INTO sym_parameter (external_id,node_group_id,param_key,param_value)
VALUES ('ALL','store','auto.reload.reverse','true');

但这无济于事。

我该如何解决我的问题?

4

2 回答 2

1

当我把auto.reload.reverse=true反向corp.properties重新加载将开始注册工作。但是有 FK 错误。可能items不同步,因为方向错误。但是,对于我的一个方向的实际设置,一切正常。

于 2014-01-09T15:20:13.237 回答
1

参数 auto.reload 和 auto.reload.reverse 仅在注册时起作用。

要在注册后发送初始负载,您必须使用 SymmetricDS 附带的 symadmin 工具。

示例:../bin/symadmin --engine corp-000 reload-node 001

用户指南中提供了一个示例... http://www.symmetricds.org/doc/3.5/html-single/user-guide.html#ch02-initial-load

于 2013-12-27T13:27:49.197 回答