我想构建下一个结构:一个父(注册)节点,NAT后面的几个客户端节点。客户端节点将更改推送到父级。
我接受SymmetricDS
example with corp
and store
,配置它,一切正常。然后我尝试将初始数据改为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=true
添加到store
属性文件中,但初始加载仍无法正常工作。
我尝试使用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');
但没有帮助。
我如何解决我的问题?
答案 0 :(得分: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
答案 1 :(得分:1)
当我将auto.reload.reverse=true
置于corp.properties
时,反向重新加载将开始注册工作。但是有了FK错误。可能items
未同步,因为方向错误。然而,对于我的一个方向的真实设置,一切正常。