From 0e63575f95dafe1cdb67fb1cc3814ac97e51596e Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Fri, 19 Sep 2014 15:36:37 +0000
Subject: [PATCH] OPENDJ-1388 CR-3446 Implement simple changelog db based on single log file
---
opendj3-server-dev/src/server/org/opends/server/replication/server/ReplicationServer.java | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/replication/server/ReplicationServer.java b/opendj3-server-dev/src/server/org/opends/server/replication/server/ReplicationServer.java
index 61a993c..3ab3c9f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -40,6 +40,7 @@
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.meta.VirtualAttributeCfgDefn.ConflictBehavior;
+import org.opends.server.admin.std.meta.ReplicationServerCfgDefn.ReplicationDBImplementation;
import org.opends.server.admin.std.server.ReplicationServerCfg;
import org.opends.server.admin.std.server.UserDefinedVirtualAttributeCfg;
import org.opends.server.api.VirtualAttributeProvider;
@@ -53,6 +54,7 @@
import org.opends.server.replication.server.changelog.api.ChangeNumberIndexRecord;
import org.opends.server.replication.server.changelog.api.ChangelogDB;
import org.opends.server.replication.server.changelog.api.ChangelogException;
+import org.opends.server.replication.server.changelog.file.FileChangelogDB;
import org.opends.server.replication.server.changelog.je.JEChangelogDB;
import org.opends.server.replication.service.DSRSShutdownSync;
import org.opends.server.types.*;
@@ -89,7 +91,7 @@
private final Map<DN, ReplicationServerDomain> baseDNs =
new HashMap<DN, ReplicationServerDomain>();
- private final ChangelogDB changelogDB;
+ private ChangelogDB changelogDB;
private final AtomicBoolean shutdown = new AtomicBoolean();
private boolean stopListen = false;
private final ReplSessionSecurity replSessionSecurity;
@@ -145,6 +147,18 @@
this.config = cfg;
this.changelogDB = new JEChangelogDB(this, cfg);
this.dsrsShutdownSync = dsrsShutdownSync;
+ this.config = cfg;
+ ReplicationDBImplementation dbImpl = cfg.getReplicationDBImplementation();
+ if (dbImpl == ReplicationDBImplementation.JE)
+ {
+ logger.trace("Using JE as DB implementation for changelog DB");
+ this.changelogDB = new JEChangelogDB(this, cfg);
+ }
+ else
+ {
+ logger.trace("Using LOG FILE as DB implementation for changelog DB");
+ this.changelogDB = new FileChangelogDB(this, cfg);
+ }
replSessionSecurity = new ReplSessionSecurity();
initialize();
--
Gitblit v1.10.0