From 9d1bd29ee527b598f0e91a9d02920eaacb3f767d Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Wed, 07 May 2014 09:27:48 +0000
Subject: [PATCH] OPENDJ-1388 – Implement simple changelog db based on single log file

---
 opends/src/server/org/opends/server/replication/server/ReplicationServer.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index 176922c..f1af61f 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -36,6 +36,7 @@
 import org.opends.messages.Message;
 import org.opends.messages.Severity;
 import org.opends.server.admin.server.ConfigurationChangeListener;
+import org.opends.server.admin.std.meta.ReplicationServerCfgDefn.ReplicationDBImplementation;
 import org.opends.server.admin.std.meta.VirtualAttributeCfgDefn.*;
 import org.opends.server.admin.std.server.ReplicationServerCfg;
 import org.opends.server.admin.std.server.UserDefinedVirtualAttributeCfg;
@@ -44,11 +45,13 @@
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.WorkflowImpl;
 import org.opends.server.core.networkgroups.NetworkGroup;
+import org.opends.server.loggers.debug.DebugLogger;
 import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.replication.common.*;
 import org.opends.server.replication.plugin.MultimasterReplication;
 import org.opends.server.replication.protocol.*;
 import org.opends.server.replication.server.changelog.api.*;
+import org.opends.server.replication.server.changelog.file.FileChangelogDB;
 import org.opends.server.replication.server.changelog.je.JEChangelogDB;
 import org.opends.server.types.*;
 import org.opends.server.util.ServerConstants;
@@ -127,7 +130,23 @@
     throws ConfigException
   {
     this.config = configuration;
-    this.changelogDB = new JEChangelogDB(this, configuration);
+    ReplicationDBImplementation dbImpl = configuration.getReplicationDBImplementation();
+    if (dbImpl == ReplicationDBImplementation.JE)
+    {
+      if (DebugLogger.debugEnabled())
+      {
+        TRACER.debugMessage(DebugLogLevel.INFO, "Using JE as DB implementation for changelog DB");
+      }
+      this.changelogDB = new JEChangelogDB(this, configuration);
+    }
+    else
+    {
+      if (DebugLogger.debugEnabled())
+      {
+        TRACER.debugMessage(DebugLogLevel.INFO, "Using LOG FILE as DB implementation for changelog DB");
+      }
+      this.changelogDB = new FileChangelogDB(this, configuration);
+    }
 
     replSessionSecurity = new ReplSessionSecurity();
     initialize();

--
Gitblit v1.10.0