From cdee5ecd5b7ac3e3da5d3ffc9c39f4ba09159c13 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Tue, 03 Oct 2006 13:47:20 +0000
Subject: [PATCH] At startup time, each changelog server establish a connection with each other changelog server.
---
opends/src/server/org/opends/server/changelog/Changelog.java | 35 +++++++++++++++++++++--------------
1 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/opends/src/server/org/opends/server/changelog/Changelog.java b/opends/src/server/org/opends/server/changelog/Changelog.java
index 2fbe670..dd7006a 100644
--- a/opends/src/server/org/opends/server/changelog/Changelog.java
+++ b/opends/src/server/org/opends/server/changelog/Changelog.java
@@ -89,7 +89,6 @@
private static HashMap<DN, ChangelogCache> baseDNs =
new HashMap<DN, ChangelogCache>();
- private String localhostname = "null";
private String localURL = "null";
private static boolean shutdown = false;
private short changelogServerId;
@@ -207,17 +206,27 @@
*/
StringConfigAttribute changelogServer =
(StringConfigAttribute) config.getConfigAttribute(changelogStub);
- if (changelogServer == null)
+ changelogServers = new ArrayList<String>();
+ if (changelogServer != null)
{
- changelogServers = new ArrayList<String>();
- }
- else
- {
- changelogServers = changelogServer.activeValues();
+ for (String serverURL : changelogServer.activeValues())
+ {
+ String[] splitStrings = serverURL.split(":");
+ try
+ {
+ changelogServers.add(
+ InetAddress.getByName(splitStrings[0]).getHostAddress()
+ + ":" + splitStrings[1]);
+ } catch (UnknownHostException e)
+ {
+ throw new ConfigException(MSGID_UNKNOWN_HOSTNAME,
+ e.getLocalizedMessage());
+ }
+ }
}
configAttributes.add(changelogServer);
- initialize(changelogServerId, changelogPort, changelogServers);
+ initialize(changelogServerId, changelogPort);
configDn = config.getDN();
DirectoryServer.registerConfigurableComponent(this);
@@ -384,12 +393,9 @@
*
* @param changelogId The unique identifier for this changelog.
* @param changelogPort The port on which the changelog should listen.
- * @param changelogServers The set of changelog servers that have been
- * defined.
*
*/
- private void initialize(short changelogId, int changelogPort,
- List<String> changelogServers)
+ private void initialize(short changelogId, int changelogPort)
{
try
{
@@ -408,9 +414,10 @@
/*
* Open changelog socket
*/
- localhostname = InetAddress.getLocalHost().getHostName();
+ String localhostname = InetAddress.getLocalHost().getHostName();
+ String localAdddress = InetAddress.getLocalHost().getHostAddress();
serverURL = localhostname + ":" + String.valueOf(changelogPort);
- localURL = localhostname + ":" + String.valueOf(changelogPort);
+ localURL = localAdddress + ":" + String.valueOf(changelogPort);
listenSocket = new ServerSocket(changelogPort);
/*
--
Gitblit v1.10.0