Merge branch 'jetty-11.0.x' into jetty-12.0.x
This commit is contained in:
commit
45ca33676d
|
@ -59,6 +59,10 @@ public class HazelcastSessionDataStoreFactory
|
||||||
|
|
||||||
private String addresses;
|
private String addresses;
|
||||||
|
|
||||||
|
private ClientConfig clientConfig;
|
||||||
|
|
||||||
|
private Config serverConfig;
|
||||||
|
|
||||||
public boolean isUseQueries()
|
public boolean isUseQueries()
|
||||||
{
|
{
|
||||||
return useQueries;
|
return useQueries;
|
||||||
|
@ -84,7 +88,14 @@ public class HazelcastSessionDataStoreFactory
|
||||||
ClientConfig config;
|
ClientConfig config;
|
||||||
if (StringUtil.isEmpty(configurationLocation))
|
if (StringUtil.isEmpty(configurationLocation))
|
||||||
{
|
{
|
||||||
config = new ClientConfig();
|
if (clientConfig == null)
|
||||||
|
{
|
||||||
|
config = new ClientConfig();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
config = clientConfig;
|
||||||
|
}
|
||||||
|
|
||||||
if (addresses != null && !addresses.isEmpty())
|
if (addresses != null && !addresses.isEmpty())
|
||||||
{
|
{
|
||||||
|
@ -98,7 +109,15 @@ public class HazelcastSessionDataStoreFactory
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
config = new XmlClientConfigBuilder(configurationLocation).build();
|
if (clientConfig == null)
|
||||||
|
{
|
||||||
|
config = new XmlClientConfigBuilder(configurationLocation).build();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG.warn("Both configurationLocation and clientConfig are set, using clientConfig");
|
||||||
|
config = clientConfig;
|
||||||
|
}
|
||||||
if (config.getSerializationConfig().getSerializerConfigs().stream().noneMatch(s ->
|
if (config.getSerializationConfig().getSerializerConfigs().stream().noneMatch(s ->
|
||||||
SessionData.class.getName().equals(s.getTypeClassName()) && s.getImplementation() instanceof SessionDataSerializer))
|
SessionData.class.getName().equals(s.getTypeClassName()) && s.getImplementation() instanceof SessionDataSerializer))
|
||||||
LOG.warn("Hazelcast xml config is missing org.eclipse.jetty.hazelcast.session.SessionDataSerializer - sessions may not serialize correctly");
|
LOG.warn("Hazelcast xml config is missing org.eclipse.jetty.hazelcast.session.SessionDataSerializer - sessions may not serialize correctly");
|
||||||
|
@ -114,7 +133,14 @@ public class HazelcastSessionDataStoreFactory
|
||||||
SerializerConfig sc = new SerializerConfig()
|
SerializerConfig sc = new SerializerConfig()
|
||||||
.setImplementation(new SessionDataSerializer())
|
.setImplementation(new SessionDataSerializer())
|
||||||
.setTypeClass(SessionData.class);
|
.setTypeClass(SessionData.class);
|
||||||
config = new Config();
|
if (serverConfig == null)
|
||||||
|
{
|
||||||
|
config = new Config();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
config = serverConfig;
|
||||||
|
}
|
||||||
config.getSerializationConfig().addSerializerConfig(sc);
|
config.getSerializationConfig().addSerializerConfig(sc);
|
||||||
// configure a default Map if null
|
// configure a default Map if null
|
||||||
if (mapConfig == null)
|
if (mapConfig == null)
|
||||||
|
@ -131,7 +157,15 @@ public class HazelcastSessionDataStoreFactory
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
config = new XmlConfigBuilder(configurationLocation).build();
|
if (serverConfig == null)
|
||||||
|
{
|
||||||
|
config = new XmlConfigBuilder(configurationLocation).build();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG.warn("Both configurationLocation and serverConfig are set, using serverConfig");
|
||||||
|
config = serverConfig;
|
||||||
|
}
|
||||||
if (config.getSerializationConfig().getSerializerConfigs().stream().noneMatch(s ->
|
if (config.getSerializationConfig().getSerializerConfigs().stream().noneMatch(s ->
|
||||||
SessionData.class.getName().equals(s.getTypeClassName()) && s.getImplementation() instanceof SessionDataSerializer))
|
SessionData.class.getName().equals(s.getTypeClassName()) && s.getImplementation() instanceof SessionDataSerializer))
|
||||||
LOG.warn("Hazelcast xml config is missing org.eclipse.jetty.hazelcast.session.SessionDataSerializer - sessions may not serialize correctly");
|
LOG.warn("Hazelcast xml config is missing org.eclipse.jetty.hazelcast.session.SessionDataSerializer - sessions may not serialize correctly");
|
||||||
|
@ -160,7 +194,7 @@ public class HazelcastSessionDataStoreFactory
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param onlyClient if <code>true</code> the session manager will only connect to an external Hazelcast instance
|
* @param onlyClient if <code>true</code> the session manager will only connect to an external Hazelcast instance
|
||||||
* and not use this JVM to start an Hazelcast instance
|
* and not use this JVM to start a Hazelcast instance
|
||||||
*/
|
*/
|
||||||
public void setOnlyClient(boolean onlyClient)
|
public void setOnlyClient(boolean onlyClient)
|
||||||
{
|
{
|
||||||
|
@ -172,6 +206,12 @@ public class HazelcastSessionDataStoreFactory
|
||||||
return configurationLocation;
|
return configurationLocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param configurationLocation the location of the XML Hazelcast configuration file to load.
|
||||||
|
* Depending on whether {@link #setOnlyClient(boolean)} is set to {@code true}
|
||||||
|
* or not, this will be used to configure either a Hazelcast client or a Hazelcast server.
|
||||||
|
* This parameter is mutually exclusive with {@link #setClientConfig(ClientConfig)} and {@link #setServerConfig(Config)}.
|
||||||
|
*/
|
||||||
public void setConfigurationLocation(String configurationLocation)
|
public void setConfigurationLocation(String configurationLocation)
|
||||||
{
|
{
|
||||||
this.configurationLocation = configurationLocation;
|
this.configurationLocation = configurationLocation;
|
||||||
|
@ -226,4 +266,34 @@ public class HazelcastSessionDataStoreFactory
|
||||||
{
|
{
|
||||||
this.addresses = addresses;
|
this.addresses = addresses;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ClientConfig getClientConfig()
|
||||||
|
{
|
||||||
|
return clientConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param clientConfig the client configuration to use to connect to Hazelcast.
|
||||||
|
* Only used if {@link #setOnlyClient(boolean)} is set to {@code true}.
|
||||||
|
* Overrides any configuration set via {@link #setConfigurationLocation(String)}
|
||||||
|
*/
|
||||||
|
public void setClientConfig(ClientConfig clientConfig)
|
||||||
|
{
|
||||||
|
this.clientConfig = clientConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Config getServerConfig()
|
||||||
|
{
|
||||||
|
return serverConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param serverConfig the server configuration to use to configure the embedded Hazelcast cluster.
|
||||||
|
* Only used if {@link #setOnlyClient(boolean)} is set to {@code false}.
|
||||||
|
* Overrides any configuration set via {@link #setConfigurationLocation(String)}
|
||||||
|
*/
|
||||||
|
public void setServerConfig(Config serverConfig)
|
||||||
|
{
|
||||||
|
this.serverConfig = serverConfig;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
4
pom.xml
4
pom.xml
|
@ -73,7 +73,7 @@
|
||||||
<junit.version>5.9.0</junit.version>
|
<junit.version>5.9.0</junit.version>
|
||||||
<kerb-simplekdc.version>2.0.2</kerb-simplekdc.version>
|
<kerb-simplekdc.version>2.0.2</kerb-simplekdc.version>
|
||||||
<log4j2.version>2.19.0</log4j2.version>
|
<log4j2.version>2.19.0</log4j2.version>
|
||||||
<logback.version>1.4.0</logback.version>
|
<logback.version>1.4.1</logback.version>
|
||||||
<mariadb.version>3.0.7</mariadb.version>
|
<mariadb.version>3.0.7</mariadb.version>
|
||||||
<mariadb.docker.version>10.3.6</mariadb.docker.version>
|
<mariadb.docker.version>10.3.6</mariadb.docker.version>
|
||||||
<maven.deps.version>3.8.4</maven.deps.version>
|
<maven.deps.version>3.8.4</maven.deps.version>
|
||||||
|
@ -88,7 +88,7 @@
|
||||||
<org.osgi.util.promise.version>1.2.0</org.osgi.util.promise.version>
|
<org.osgi.util.promise.version>1.2.0</org.osgi.util.promise.version>
|
||||||
<plexus-component-annotations.version>2.1.1</plexus-component-annotations.version>
|
<plexus-component-annotations.version>2.1.1</plexus-component-annotations.version>
|
||||||
<plexus-utils.version>3.4.2</plexus-utils.version>
|
<plexus-utils.version>3.4.2</plexus-utils.version>
|
||||||
<slf4j.version>2.0.1</slf4j.version>
|
<slf4j.version>2.0.2</slf4j.version>
|
||||||
<springboot.version>2.1.1.RELEASE</springboot.version>
|
<springboot.version>2.1.1.RELEASE</springboot.version>
|
||||||
<testcontainers.version>1.17.3</testcontainers.version>
|
<testcontainers.version>1.17.3</testcontainers.version>
|
||||||
<weld.version>4.0.3.Final</weld.version>
|
<weld.version>4.0.3.Final</weld.version>
|
||||||
|
|
Loading…
Reference in New Issue