diff --git a/src/main/java/jenkins/plugins/logstash/persistence/BuildData.java b/src/main/java/jenkins/plugins/logstash/persistence/BuildData.java index 4379a4de..5c608ca7 100644 --- a/src/main/java/jenkins/plugins/logstash/persistence/BuildData.java +++ b/src/main/java/jenkins/plugins/logstash/persistence/BuildData.java @@ -36,6 +36,7 @@ import hudson.tasks.test.TestResult; import jenkins.plugins.logstash.LogstashConfiguration; +import java.io.Serializable; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; @@ -62,7 +63,7 @@ * @author Rusty Gerard * @since 1.0.0 */ -public class BuildData { +public class BuildData implements Serializable { // ISO 8601 date format private final static Logger LOGGER = Logger.getLogger(MethodHandles.lookup().lookupClass().getCanonicalName()); public static class TestData { diff --git a/src/main/java/jenkins/plugins/logstash/persistence/ElasticSearchDao.java b/src/main/java/jenkins/plugins/logstash/persistence/ElasticSearchDao.java index 65f4de99..0393d055 100644 --- a/src/main/java/jenkins/plugins/logstash/persistence/ElasticSearchDao.java +++ b/src/main/java/jenkins/plugins/logstash/persistence/ElasticSearchDao.java @@ -39,6 +39,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.PrintStream; +import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URI; @@ -54,6 +55,8 @@ import jenkins.plugins.logstash.utils.SSLHelper; +import javax.annotation.CheckForNull; + /** * Elastic Search Data Access Object. @@ -61,9 +64,10 @@ * @author Liam Newman * @since 1.0.4 */ -public class ElasticSearchDao extends AbstractLogstashIndexerDao { +public class ElasticSearchDao extends AbstractLogstashIndexerDao implements Serializable { - private final HttpClientBuilder clientBuilder; + @CheckForNull + private transient HttpClientBuilder clientBuilder; private final URI uri; private final String auth; private final Range successCodes = closedOpen(200,300); @@ -106,7 +110,14 @@ public ElasticSearchDao(URI uri, String username, String password) { auth = null; } - clientBuilder = factory == null ? HttpClientBuilder.create() : factory; + clientBuilder = factory; + } + + HttpClientBuilder clientBuilder() { + if (clientBuilder == null) { + clientBuilder = HttpClientBuilder.create(); + } + return clientBuilder; }