Skip to content

Commit 19d97d9

Browse files
Merge branch '3.1.x'
Closes gh-2466
2 parents 6eb1c62 + a4f3ac2 commit 19d97d9

File tree

3 files changed

+56
-56
lines changed

3 files changed

+56
-56
lines changed

spring-session-docs/modules/ROOT/examples/java/docs/IndexDocTests.java

+19-16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2022 the original author or authors.
2+
* Copyright 2014-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -19,6 +19,9 @@
1919
import java.time.Duration;
2020
import java.util.concurrent.ConcurrentHashMap;
2121

22+
import com.hazelcast.config.Config;
23+
import com.hazelcast.core.Hazelcast;
24+
import com.hazelcast.core.HazelcastInstance;
2225
import org.junit.jupiter.api.Test;
2326

2427
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
@@ -36,6 +39,7 @@
3639
import org.springframework.session.data.redis.ReactiveRedisSessionRepository;
3740
import org.springframework.session.data.redis.RedisIndexedSessionRepository;
3841
import org.springframework.session.data.redis.RedisSessionRepository;
42+
import org.springframework.session.hazelcast.HazelcastIndexedSessionRepository;
3943
import org.springframework.session.jdbc.JdbcIndexedSessionRepository;
4044
import org.springframework.session.web.http.SessionRepositoryFilter;
4145
import org.springframework.transaction.support.TransactionTemplate;
@@ -180,21 +184,20 @@ void newJdbcIndexedSessionRepository() {
180184
// end::new-jdbcindexedsessionrepository[]
181185
}
182186

183-
// @Test
184-
// @SuppressWarnings("unused")
185-
// void newHazelcastIndexedSessionRepository() {
186-
// // tag::new-hazelcastindexedsessionrepository[]
187-
//
188-
// Config config = new Config();
189-
//
190-
// // ... configure Hazelcast ...
191-
//
192-
// HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance(config);
193-
//
194-
// HazelcastIndexedSessionRepository repository = new
195-
// HazelcastIndexedSessionRepository(hazelcastInstance);
196-
// // end::new-hazelcastindexedsessionrepository[]
197-
// }
187+
@Test
188+
@SuppressWarnings("unused")
189+
void newHazelcastIndexedSessionRepository() {
190+
// tag::new-hazelcastindexedsessionrepository[]
191+
192+
Config config = new Config();
193+
194+
// ... configure Hazelcast ...
195+
196+
HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance(config);
197+
198+
HazelcastIndexedSessionRepository repository = new HazelcastIndexedSessionRepository(hazelcastInstance);
199+
// end::new-hazelcastindexedsessionrepository[]
200+
}
198201

199202
@Test
200203
void runSpringHttpSessionConfig() {
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2021 the original author or authors.
2+
* Copyright 2014-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,44 +16,41 @@
1616

1717
package docs.http;
1818

19-
// import com.hazelcast.config.AttributeConfig;
20-
// import com.hazelcast.config.Config;
21-
// import com.hazelcast.config.IndexConfig;
22-
// import com.hazelcast.config.IndexType;
23-
// import com.hazelcast.config.SerializerConfig;
24-
// import com.hazelcast.core.Hazelcast;
25-
// import com.hazelcast.core.HazelcastInstance;
26-
//
27-
// import org.springframework.context.annotation.Bean;
28-
// import org.springframework.context.annotation.Configuration;
29-
// import org.springframework.session.MapSession;
30-
// import org.springframework.session.hazelcast.HazelcastIndexedSessionRepository;
31-
// import org.springframework.session.hazelcast.HazelcastSessionSerializer;
32-
// import org.springframework.session.hazelcast.PrincipalNameExtractor;
33-
// import
34-
// org.springframework.session.hazelcast.config.annotation.web.http.EnableHazelcastHttpSession;
19+
import com.hazelcast.config.AttributeConfig;
20+
import com.hazelcast.config.Config;
21+
import com.hazelcast.config.IndexConfig;
22+
import com.hazelcast.config.IndexType;
23+
import com.hazelcast.config.SerializerConfig;
24+
import com.hazelcast.core.Hazelcast;
25+
import com.hazelcast.core.HazelcastInstance;
26+
27+
import org.springframework.context.annotation.Bean;
28+
import org.springframework.context.annotation.Configuration;
29+
import org.springframework.session.MapSession;
30+
import org.springframework.session.hazelcast.HazelcastIndexedSessionRepository;
31+
import org.springframework.session.hazelcast.HazelcastSessionSerializer;
32+
import org.springframework.session.hazelcast.PrincipalNameExtractor;
33+
import org.springframework.session.hazelcast.config.annotation.web.http.EnableHazelcastHttpSession;
3534

3635
// tag::config[]
37-
// @EnableHazelcastHttpSession // <1>
38-
// @Configuration
39-
// public class HazelcastHttpSessionConfig {
40-
//
41-
// @Bean
42-
// public HazelcastInstance hazelcastInstance() {
43-
// Config config = new Config();
44-
// AttributeConfig attributeConfig = new AttributeConfig()
45-
// .setName(HazelcastIndexedSessionRepository.PRINCIPAL_NAME_ATTRIBUTE)
46-
// .setExtractorClassName(PrincipalNameExtractor.class.getName());
47-
// config.getMapConfig(HazelcastIndexedSessionRepository.DEFAULT_SESSION_MAP_NAME) // <2>
48-
// .addAttributeConfig(attributeConfig).addIndexConfig(
49-
// new IndexConfig(IndexType.HASH,
50-
// HazelcastIndexedSessionRepository.PRINCIPAL_NAME_ATTRIBUTE));
51-
// SerializerConfig serializerConfig = new SerializerConfig();
52-
// serializerConfig.setImplementation(new
53-
// HazelcastSessionSerializer()).setTypeClass(MapSession.class);
54-
// config.getSerializationConfig().addSerializerConfig(serializerConfig); // <3>
55-
// return Hazelcast.newHazelcastInstance(config); // <4>
56-
// }
57-
//
58-
// }
36+
@EnableHazelcastHttpSession // <1>
37+
@Configuration
38+
public class HazelcastHttpSessionConfig {
39+
40+
@Bean
41+
public HazelcastInstance hazelcastInstance() {
42+
Config config = new Config();
43+
AttributeConfig attributeConfig = new AttributeConfig()
44+
.setName(HazelcastIndexedSessionRepository.PRINCIPAL_NAME_ATTRIBUTE)
45+
.setExtractorClassName(PrincipalNameExtractor.class.getName());
46+
config.getMapConfig(HazelcastIndexedSessionRepository.DEFAULT_SESSION_MAP_NAME) // <2>
47+
.addAttributeConfig(attributeConfig).addIndexConfig(
48+
new IndexConfig(IndexType.HASH, HazelcastIndexedSessionRepository.PRINCIPAL_NAME_ATTRIBUTE));
49+
SerializerConfig serializerConfig = new SerializerConfig();
50+
serializerConfig.setImplementation(new HazelcastSessionSerializer()).setTypeClass(MapSession.class);
51+
config.getSerializationConfig().addSerializerConfig(serializerConfig); // <3>
52+
return Hazelcast.newHazelcastInstance(config); // <4>
53+
}
54+
55+
}
5956
// end::config[]

spring-session-docs/spring-session-docs.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ apply plugin: 'io.spring.convention.spring-test'
99
dependencies {
1010
testImplementation project(':spring-session-core')
1111
testImplementation project(':spring-session-data-redis')
12-
// testImplementation project(':spring-session-hazelcast')
12+
testImplementation project(':spring-session-hazelcast')
1313
testImplementation project(':spring-session-jdbc')
1414
testImplementation 'org.springframework:spring-jdbc'
1515
testImplementation 'org.springframework:spring-messaging'

0 commit comments

Comments
 (0)