mirror of
https://github.com/Febbweiss/logstash-forwarder-java.git
synced 2026-03-05 06:35:44 +00:00
Implemented connection to random server.
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>logstash-forwarder-java</groupId>
|
<groupId>logstash-forwarder-java</groupId>
|
||||||
<artifactId>logstash-forwarder-java</artifactId>
|
<artifactId>logstash-forwarder-java</artifactId>
|
||||||
<version>0.1.1-SNAPSHOT</version>
|
<version>0.1.1</version>
|
||||||
<name>logstash-forwarder-java</name>
|
<name>logstash-forwarder-java</name>
|
||||||
<description>Java version of logstash forwarder</description>
|
<description>Java version of logstash forwarder</description>
|
||||||
<url>https://github.com/didfet/logstash-forwarder-java</url>
|
<url>https://github.com/didfet/logstash-forwarder-java</url>
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package info.fetter.logstashforwarder;
|
|||||||
import static org.apache.log4j.Level.*;
|
import static org.apache.log4j.Level.*;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
import info.fetter.logstashforwarder.config.ConfigurationManager;
|
import info.fetter.logstashforwarder.config.ConfigurationManager;
|
||||||
import info.fetter.logstashforwarder.config.FilesSection;
|
import info.fetter.logstashforwarder.config.FilesSection;
|
||||||
@@ -49,6 +51,7 @@ public class Forwarder {
|
|||||||
private static FileReader reader;
|
private static FileReader reader;
|
||||||
private static Level logLevel = INFO;
|
private static Level logLevel = INFO;
|
||||||
private static ProtocolAdapter adapter;
|
private static ProtocolAdapter adapter;
|
||||||
|
private static Random random = new Random();
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
try {
|
try {
|
||||||
@@ -82,21 +85,26 @@ public class Forwarder {
|
|||||||
while(watcher.readFiles(reader) == spoolSize);
|
while(watcher.readFiles(reader) == spoolSize);
|
||||||
Thread.sleep(idleTimeout);
|
Thread.sleep(idleTimeout);
|
||||||
} catch(AdapterException e) {
|
} catch(AdapterException e) {
|
||||||
try {
|
|
||||||
logger.error("Lost server connection");
|
logger.error("Lost server connection");
|
||||||
Thread.sleep(configManager.getConfig().getNetwork().getTimeout() * 1000);
|
Thread.sleep(configManager.getConfig().getNetwork().getTimeout() * 1000);
|
||||||
connectToServer();
|
connectToServer();
|
||||||
} catch(Exception ex) {
|
|
||||||
logger.error("Failed to reconnect to server : " + ex.getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void connectToServer() throws NumberFormatException, IOException {
|
private static void connectToServer() {
|
||||||
String[] serverAndPort = configManager.getConfig().getNetwork().getServers().get(0).split(":");
|
int randomServerIndex = 0;
|
||||||
|
List<String> serverList = configManager.getConfig().getNetwork().getServers();
|
||||||
|
while(adapter == null) {
|
||||||
|
try {
|
||||||
|
randomServerIndex = random.nextInt(serverList.size());
|
||||||
|
String[] serverAndPort = serverList.get(randomServerIndex).split(":");
|
||||||
adapter = new LumberjackClient(configManager.getConfig().getNetwork().getSslCA(),serverAndPort[0],Integer.parseInt(serverAndPort[1]));
|
adapter = new LumberjackClient(configManager.getConfig().getNetwork().getSslCA(),serverAndPort[0],Integer.parseInt(serverAndPort[1]));
|
||||||
reader.setAdapter(adapter);
|
reader.setAdapter(adapter);
|
||||||
|
} catch(Exception ex) {
|
||||||
|
logger.error("Failed to connect to server " + serverList.get(randomServerIndex) + " : " + ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("static-access")
|
@SuppressWarnings("static-access")
|
||||||
|
|||||||
Reference in New Issue
Block a user