SymmetricDS有助于提供snippet of code从Java运行基本节点。但是,没有提供上下文,并且在他们的github存储库中没有可编译的示例。
这个other user's example稍微接近一点,但在getcEngine()。openRegistration(...)中仍然失败,但有例外:
java.lang.IllegalStateException:此节点尚未配置。无法在标识表中找到行
您是否成功运行版本为3.8的嵌入式客户端?你能提供一个超越设置阶段的最小例子吗?
答案 0 :(得分:0)
链接的示例实际上可行,但嵌入式客户端没有为您设置其节点数据库。至少,您需要此客户端的sym_node和sym_node_identity行。下面的SQL对我有用。
此外,here's a minimum compilable example for IntelliJ Idea使用了对称的3.8.16.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');