2017-02-21 32 views
0

SymmetricDS有用地提供了一個snippet of code以從Java運行基本節點。但是,沒有提供上下文,並且他們的github存儲庫中沒有可編譯的示例。嵌入SymmetricDS 3.8的MCV示例?

other user's example越來越近了一點,但在getcEngine()仍然不能解決我openRegistration(...),出現異常:

java.lang.IllegalStateException:該節點尚未configured.Could沒有在身份表中找到一行

您是否已成功運行3.8版嵌入式客戶端?你能提供一個經過設置階段的最小例子嗎?

+0

您是否嘗試過通過插入腳本手動插入數據庫中的節點的身份? –

+2

感謝鮑里斯!剛剛發現,昨晚深夜,似乎已經使事情工作。我只是在編寫我的示例來發布。 –

回答

0

鏈接的示例實際上可以工作,但嵌入式客戶端沒有爲您設置其節點數據庫。至少,您需要此客戶端的sym_node和sym_node_identity行。下面的SQL適用於我。

此外,here's a minimum compilable example for IntelliJ Idea與對稱數據3.8.16的腳本演示。

CREATE TABLE "sym_node"(
    "node_id" VARCHAR NOT NULL PRIMARY KEY , 
    "node_group_id" VARCHAR NOT NULL, 
    "external_id" VARCHAR NOT NULL, 
    "sync_enabled" INTEGER DEFAULT 0, 
    "sync_url" VARCHAR, 
    "schema_version" VARCHAR, 
    "symmetric_version" VARCHAR, 
    "database_type" VARCHAR, 
    "database_version" VARCHAR, 
    "heartbeat_time" TIMESTAMP, 
    "timezone_offset" VARCHAR, 
    "batch_to_send_count" INTEGER DEFAULT 0, 
    "batch_in_error_count" INTEGER DEFAULT 0, 
    "created_at_node_id" VARCHAR, 
    "deployment_type" VARCHAR 
); 

CREATE TABLE "sym_node_identity"(
    "node_id" VARCHAR NOT NULL PRIMARY KEY , 
    FOREIGN KEY ("node_id") REFERENCES "sym_node" ("node_id") 
); 

insert into sym_node (node_id,node_group_id,external_id,sync_enabled,sync_url,schema_version,symmetric_version,database_type,database_version,heartbeat_time,timezone_offset,batch_to_send_count,batch_in_error_count,created_at_node_id) 
values ('003','store','003',1,null,null,null,null,null,current_timestamp,null,0,0,'000'); 

INSERT INTO "sym_node_identity" VALUES('003');