diff --git a/geowebcache/distributed/pom.xml b/geowebcache/distributed/pom.xml
index b64169a71..def0a1921 100644
--- a/geowebcache/distributed/pom.xml
+++ b/geowebcache/distributed/pom.xml
@@ -29,6 +29,11 @@
gwc-core
${project.version}
+
+ org.geotools
+ gt-xml
+ ${gt.version}
+
junit
junit
diff --git a/geowebcache/distributed/src/main/java/org/geowebcache/storage/blobstore/memory/distributed/HazelcastLoader.java b/geowebcache/distributed/src/main/java/org/geowebcache/storage/blobstore/memory/distributed/HazelcastLoader.java
index f20246cff..36f6e855a 100644
--- a/geowebcache/distributed/src/main/java/org/geowebcache/storage/blobstore/memory/distributed/HazelcastLoader.java
+++ b/geowebcache/distributed/src/main/java/org/geowebcache/storage/blobstore/memory/distributed/HazelcastLoader.java
@@ -29,6 +29,7 @@
import java.util.logging.Logger;
import org.apache.commons.io.filefilter.NameFileFilter;
import org.geotools.util.logging.Logging;
+import org.geotools.xml.XMLUtils;
import org.springframework.beans.factory.InitializingBean;
/**
@@ -54,6 +55,18 @@ public class HazelcastLoader implements InitializingBean {
/** Hazelcast instance to pass to the {@link HazelcastCacheProvider} class */
private HazelcastInstance instance;
+ // Disable Hazelcast's XXE protection if the XML libraries don't support JAXP 1.5
+ static {
+ if (System.getProperty("hazelcast.ignoreXxeProtectionFailures") == null) {
+ try {
+ XMLUtils.checkSupportForJAXP15Properties();
+ } catch (IllegalStateException e) {
+ LOGGER.warning("Disabling Hazelcast XXE protection because " + e.getMessage());
+ System.setProperty("hazelcast.ignoreXxeProtectionFailures", "true");
+ }
+ }
+ }
+
@Override
public void afterPropertiesSet() throws Exception {
if (instance == null) {
diff --git a/geowebcache/pom.xml b/geowebcache/pom.xml
index 9952b1f85..3623984b0 100644
--- a/geowebcache/pom.xml
+++ b/geowebcache/pom.xml
@@ -76,7 +76,7 @@
64M
1.4.7
- 5.3.1
+ 5.3.6
2.8.1
apply
false