Java 中应用
要使用 Java 实现一个集群,首先初始化一个 Cluster 节点数组并将其传递给 ClusterDatabase.open() 方法,然后为该数据库实例化一个 ClusterConnection 并创建一个监听线程。最后调用 ClusterConnection 的 stop() 方法来终止集群会话。以下代码片段演示了一个简单的集群 Java 应用程序如何执行这些步骤:
void clusterListen()
{
ClusterConnection con = new ClusterConnection(db);
con.listen();
con.disconnect();
}
{
Database.Parameters params = new Database.Parameters();
// fill usual params
...
//declare and fill cluster node's parameters
Database.ClusterNodeParams[] node_params = new Database.ClusterNodeParams[2];
node_params[0] = new Database.ClusterNodeParams("192.168.0.1:20000");
node_params[1] = new Database.ClusterNodeParams("192.168.0.2:20000");
// set Cluster parameters
params.clusterParams = new Database.ClusterParams(node_params, node_id);
// Create cluster database. Transaction manager MUST be MVCC
db = new Database(Database.MCO_CFG_MVCC_TRANSACTION_MANAGER |
Database.MCO_CFG_CLUSTER_SUPPORT);
// Open database
db.open("cluster-db", params, DATABASE_SIZE);
// start cluster listener thread
Thread listenThread = new Thread(new Runnable() { public void run() {
clusterListen(); } });
listenThread.start();
// connect to the database using ClusterConnection
ClusterConnection con = new ClusterConnection(db);
/***************************/
//do some work
/***************************/
// Stop the connection and listener thread, disconnect and close database
con.stop();
listenThread.join(); // wait for listener thread
con.disconnect();
db.close();
}