switched to commons-codec for easier and better md5 checksum generation

This commit is contained in:
Martin Lippert
2018-08-14 18:17:34 +02:00
parent c8554089bc
commit 4aaaf8bae6
3 changed files with 22 additions and 14 deletions

View File

@@ -23,6 +23,11 @@
<artifactId>commons-io</artifactId>
<version>${commons-io-version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec-version}</version>
</dependency>
<dependency>
<groupId>com.sun</groupId>

View File

@@ -31,6 +31,7 @@ import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import org.apache.commons.codec.digest.DigestUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import org.slf4j.Logger;
@@ -207,28 +208,29 @@ public abstract class AbstractSpringBootApp implements SpringBootApp {
String domain = getDomainForActuator();
Object json = getBeansFromActuator(domain);
MessageDigest md = MessageDigest.getInstance("MD5");
String md5 = new String(md.digest(json.toString().getBytes("UTF-8")));
if (json != null) {
String md5 = DigestUtils.md5Hex(json.toString());
synchronized(this) {
if (cachedBeansModel == null || !md5.equals(cachedBeansModelMD5)) {
synchronized(this) {
if (cachedBeansModel == null || !md5.equals(cachedBeansModelMD5)) {
cachedBeansModel = LiveBeansModel.parse(gson.toJson(json));
cachedBeansModelMD5 = md5;
cachedBeansModel = LiveBeansModel.parse(gson.toJson(json));
cachedBeansModelMD5 = md5;
logger.debug("Got {} beans for {}", cachedBeansModel.getBeanNames().size(), this);
}
else {
logger.debug("Got {} beans for {} - from cache", cachedBeansModel.getBeanNames().size(), this);
logger.debug("Got {} beans for {}", cachedBeansModel.getBeanNames().size(), this);
}
else {
logger.debug("Got {} beans for {} - from cache", cachedBeansModel.getBeanNames().size(), this);
}
}
return cachedBeansModel;
}
return cachedBeansModel;
} catch (Exception e) {
logger.error("Error parsing beans", e);
return LiveBeansModel.builder().build();
}
return LiveBeansModel.builder().build();
}
private Object getBeansFromActuator(String domain) throws Exception {

View File

@@ -86,6 +86,7 @@
<reactor-version>3.1.5.RELEASE</reactor-version>
<reactor-netty>0.7.5.RELEASE</reactor-netty>
<commons-io-version>2.4</commons-io-version>
<commons-codec-version>1.11</commons-codec-version>
</properties>
<build>