Spring session test deleted
parent
bae989b6fc
commit
4c783d36c2
@ -1,32 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import org.redisson.Redisson;
|
|
||||||
import org.redisson.api.RedissonClient;
|
|
||||||
import org.redisson.spring.session.config.EnableRedissonHttpSession;
|
|
||||||
import org.redisson.spring.session.config.EnableRedissonWebSession;
|
|
||||||
import org.springframework.context.ApplicationContext;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.web.reactive.DispatcherHandler;
|
|
||||||
import org.springframework.web.server.WebHandler;
|
|
||||||
import org.springframework.web.server.adapter.WebHttpHandlerBuilder;
|
|
||||||
|
|
||||||
@EnableRedissonHttpSession
|
|
||||||
//@EnableRedissonWebSession
|
|
||||||
public class HttpConfig {
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public RedissonClient redisson() {
|
|
||||||
return Redisson.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public SessionEventsListener listener() {
|
|
||||||
return new SessionEventsListener();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean(WebHttpHandlerBuilder.WEB_HANDLER_BEAN_NAME)
|
|
||||||
public WebHandler dispatcherHandler(ApplicationContext context) {
|
|
||||||
return new DispatcherHandler(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import org.redisson.Redisson;
|
|
||||||
import org.redisson.api.RedissonClient;
|
|
||||||
import org.redisson.spring.session.config.EnableRedissonHttpSession;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
|
|
||||||
@EnableRedissonHttpSession(maxInactiveIntervalInSeconds = 5)
|
|
||||||
public class HttpConfigTimeout {
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public RedissonClient redisson() {
|
|
||||||
return Redisson.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public SessionEventsListener listener() {
|
|
||||||
return new SessionEventsListener();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer;
|
|
||||||
|
|
||||||
public class HttpInitializer extends AbstractHttpSessionApplicationInitializer {
|
|
||||||
|
|
||||||
public static Class<?> CONFIG_CLASS = HttpConfig.class;
|
|
||||||
|
|
||||||
public HttpInitializer() {
|
|
||||||
super(CONFIG_CLASS);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartup(jakarta.servlet.ServletContext servletContext) {
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,244 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import org.apache.http.client.ClientProtocolException;
|
|
||||||
import org.apache.http.client.fluent.Executor;
|
|
||||||
import org.apache.http.client.fluent.Request;
|
|
||||||
import org.apache.http.cookie.Cookie;
|
|
||||||
import org.apache.http.impl.client.BasicCookieStore;
|
|
||||||
import org.junit.jupiter.api.AfterAll;
|
|
||||||
import org.junit.jupiter.api.Assertions;
|
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.redisson.RedisRunner;
|
|
||||||
import org.redisson.RedisRunner.KEYSPACE_EVENTS_OPTIONS;
|
|
||||||
import org.redisson.RedissonRuntimeEnvironment;
|
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
|
||||||
import org.springframework.web.context.support.WebApplicationContextUtils;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public class RedissonSessionManagerTest {
|
|
||||||
|
|
||||||
private static RedisRunner.RedisProcess defaultRedisInstance;
|
|
||||||
|
|
||||||
@AfterAll
|
|
||||||
public static void afterClass() throws IOException, InterruptedException {
|
|
||||||
defaultRedisInstance.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
public static void beforeClass() throws IOException, InterruptedException {
|
|
||||||
if (!RedissonRuntimeEnvironment.isTravis) {
|
|
||||||
defaultRedisInstance = new RedisRunner()
|
|
||||||
.nosave()
|
|
||||||
.port(6379)
|
|
||||||
.randomDir()
|
|
||||||
.notifyKeyspaceEvents(KEYSPACE_EVENTS_OPTIONS.E,
|
|
||||||
KEYSPACE_EVENTS_OPTIONS.x,
|
|
||||||
KEYSPACE_EVENTS_OPTIONS.g)
|
|
||||||
.run();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testSwitchServer() throws Exception {
|
|
||||||
// start the server at http://localhost:8080/myapp
|
|
||||||
TomcatServer server = new TomcatServer("myapp", 8080, "src/test/");
|
|
||||||
server.start();
|
|
||||||
|
|
||||||
Executor executor = Executor.newInstance();
|
|
||||||
BasicCookieStore cookieStore = new BasicCookieStore();
|
|
||||||
executor.use(cookieStore);
|
|
||||||
|
|
||||||
write(executor, "test", "1234");
|
|
||||||
Cookie cookie = cookieStore.getCookies().get(0);
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
server.stop();
|
|
||||||
|
|
||||||
server = new TomcatServer("myapp", 8080, "src/test/");
|
|
||||||
server.start();
|
|
||||||
|
|
||||||
executor = Executor.newInstance();
|
|
||||||
cookieStore = new BasicCookieStore();
|
|
||||||
cookieStore.addCookie(cookie);
|
|
||||||
executor.use(cookieStore);
|
|
||||||
read(executor, "test", "1234");
|
|
||||||
remove(executor, "test", "null");
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
server.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testWriteReadRemove() throws Exception {
|
|
||||||
// start the server at http://localhost:8080/myapp
|
|
||||||
TomcatServer server = new TomcatServer("myapp", 8080, "src/test/");
|
|
||||||
server.start();
|
|
||||||
|
|
||||||
Executor executor = Executor.newInstance();
|
|
||||||
|
|
||||||
write(executor, "test", "1234");
|
|
||||||
read(executor, "test", "1234");
|
|
||||||
remove(executor, "test", "null");
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
server.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testRecreate() throws Exception {
|
|
||||||
// start the server at http://localhost:8080/myapp
|
|
||||||
TomcatServer server = new TomcatServer("myapp", 8080, "src/test/");
|
|
||||||
server.start();
|
|
||||||
|
|
||||||
Executor executor = Executor.newInstance();
|
|
||||||
|
|
||||||
write(executor, "test", "1");
|
|
||||||
recreate(executor, "test", "2");
|
|
||||||
read(executor, "test", "2");
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
server.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testUpdate() throws Exception {
|
|
||||||
// start the server at http://localhost:8080/myapp
|
|
||||||
TomcatServer server = new TomcatServer("myapp", 8080, "src/test/");
|
|
||||||
server.start();
|
|
||||||
|
|
||||||
Executor executor = Executor.newInstance();
|
|
||||||
|
|
||||||
write(executor, "test", "1");
|
|
||||||
read(executor, "test", "1");
|
|
||||||
write(executor, "test", "2");
|
|
||||||
read(executor, "test", "2");
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
server.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testExpire() throws Exception {
|
|
||||||
HttpInitializer.CONFIG_CLASS = HttpConfigTimeout.class;
|
|
||||||
// start the server at http://localhost:8080/myapp
|
|
||||||
TomcatServer server = new TomcatServer("myapp", 8080, "src/test/");
|
|
||||||
server.start();
|
|
||||||
WebApplicationContext wa = WebApplicationContextUtils.getRequiredWebApplicationContext(server.getServletContext());
|
|
||||||
SessionEventsListener listener = wa.getBean(SessionEventsListener.class);
|
|
||||||
|
|
||||||
Executor executor = Executor.newInstance();
|
|
||||||
BasicCookieStore cookieStore = new BasicCookieStore();
|
|
||||||
executor.use(cookieStore);
|
|
||||||
|
|
||||||
write(executor, "test", "1234");
|
|
||||||
Cookie cookie = cookieStore.getCookies().get(0);
|
|
||||||
|
|
||||||
Thread.sleep(50);
|
|
||||||
|
|
||||||
Assertions.assertEquals(1, listener.getSessionCreatedEvents());
|
|
||||||
Assertions.assertEquals(0, listener.getSessionExpiredEvents());
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
|
|
||||||
Thread.sleep(6000);
|
|
||||||
|
|
||||||
Assertions.assertEquals(1, listener.getSessionCreatedEvents());
|
|
||||||
Assertions.assertEquals(1, listener.getSessionExpiredEvents());
|
|
||||||
|
|
||||||
executor = Executor.newInstance();
|
|
||||||
cookieStore = new BasicCookieStore();
|
|
||||||
cookieStore.addCookie(cookie);
|
|
||||||
executor.use(cookieStore);
|
|
||||||
read(executor, "test", "null");
|
|
||||||
|
|
||||||
Thread.sleep(50);
|
|
||||||
|
|
||||||
Assertions.assertEquals(2, listener.getSessionCreatedEvents());
|
|
||||||
|
|
||||||
write(executor, "test", "1234");
|
|
||||||
Thread.sleep(3000);
|
|
||||||
read(executor, "test", "1234");
|
|
||||||
Thread.sleep(3000);
|
|
||||||
Assertions.assertEquals(1, listener.getSessionExpiredEvents());
|
|
||||||
Thread.sleep(1000);
|
|
||||||
Assertions.assertEquals(1, listener.getSessionExpiredEvents());
|
|
||||||
Thread.sleep(3000);
|
|
||||||
Assertions.assertEquals(2, listener.getSessionExpiredEvents());
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
server.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testInvalidate() throws Exception {
|
|
||||||
// start the server at http://localhost:8080/myapp
|
|
||||||
TomcatServer server = new TomcatServer("myapp", 8080, "src/test/");
|
|
||||||
server.start();
|
|
||||||
WebApplicationContext wa = WebApplicationContextUtils.getRequiredWebApplicationContext(server.getServletContext());
|
|
||||||
SessionEventsListener listener = wa.getBean(SessionEventsListener.class);
|
|
||||||
|
|
||||||
Executor executor = Executor.newInstance();
|
|
||||||
BasicCookieStore cookieStore = new BasicCookieStore();
|
|
||||||
executor.use(cookieStore);
|
|
||||||
|
|
||||||
write(executor, "test", "1234");
|
|
||||||
Cookie cookie = cookieStore.getCookies().get(0);
|
|
||||||
|
|
||||||
Thread.sleep(50);
|
|
||||||
|
|
||||||
Assertions.assertEquals(1, listener.getSessionCreatedEvents());
|
|
||||||
Assertions.assertEquals(0, listener.getSessionDeletedEvents());
|
|
||||||
|
|
||||||
invalidate(executor);
|
|
||||||
|
|
||||||
Assertions.assertEquals(1, listener.getSessionCreatedEvents());
|
|
||||||
Assertions.assertEquals(1, listener.getSessionDeletedEvents());
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
|
|
||||||
executor = Executor.newInstance();
|
|
||||||
cookieStore = new BasicCookieStore();
|
|
||||||
cookieStore.addCookie(cookie);
|
|
||||||
executor.use(cookieStore);
|
|
||||||
read(executor, "test", "null");
|
|
||||||
|
|
||||||
Executor.closeIdleConnections();
|
|
||||||
server.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void write(Executor executor, String key, String value) throws IOException, ClientProtocolException {
|
|
||||||
String url = "http://localhost:8080/myapp/write?key=" + key + "&value=" + value;
|
|
||||||
String response = executor.execute(Request.Get(url)).returnContent().asString();
|
|
||||||
Assertions.assertEquals("OK", response);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void read(Executor executor, String key, String value) throws IOException, ClientProtocolException {
|
|
||||||
String url = "http://localhost:8080/myapp/read?key=" + key;
|
|
||||||
String response = executor.execute(Request.Get(url)).returnContent().asString();
|
|
||||||
Assertions.assertEquals(value, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void remove(Executor executor, String key, String value) throws IOException, ClientProtocolException {
|
|
||||||
String url = "http://localhost:8080/myapp/remove?key=" + key;
|
|
||||||
String response = executor.execute(Request.Get(url)).returnContent().asString();
|
|
||||||
Assertions.assertEquals(value, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void invalidate(Executor executor) throws IOException, ClientProtocolException {
|
|
||||||
String url = "http://localhost:8080/myapp/invalidate";
|
|
||||||
String response = executor.execute(Request.Get(url)).returnContent().asString();
|
|
||||||
Assertions.assertEquals("OK", response);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void recreate(Executor executor, String key, String value) throws IOException, ClientProtocolException {
|
|
||||||
String url = "http://localhost:8080/myapp/recreate?key=" + key + "&value=" + value;
|
|
||||||
String response = executor.execute(Request.Get(url)).returnContent().asString();
|
|
||||||
Assertions.assertEquals("OK", response);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import org.springframework.context.ApplicationListener;
|
|
||||||
import org.springframework.session.events.AbstractSessionEvent;
|
|
||||||
import org.springframework.session.events.SessionCreatedEvent;
|
|
||||||
import org.springframework.session.events.SessionDeletedEvent;
|
|
||||||
import org.springframework.session.events.SessionExpiredEvent;
|
|
||||||
|
|
||||||
public class SessionEventsListener implements ApplicationListener<AbstractSessionEvent> {
|
|
||||||
|
|
||||||
private int sessionCreatedEvents;
|
|
||||||
private int sessionDeletedEvents;
|
|
||||||
private int sessionExpiredEvents;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onApplicationEvent(AbstractSessionEvent event) {
|
|
||||||
if (event instanceof SessionCreatedEvent) {
|
|
||||||
sessionCreatedEvents++;
|
|
||||||
}
|
|
||||||
if (event instanceof SessionDeletedEvent) {
|
|
||||||
sessionDeletedEvents++;
|
|
||||||
}
|
|
||||||
if (event instanceof SessionExpiredEvent) {
|
|
||||||
sessionExpiredEvents++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getSessionCreatedEvents() {
|
|
||||||
return sessionCreatedEvents;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getSessionDeletedEvents() {
|
|
||||||
return sessionDeletedEvents;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getSessionExpiredEvents() {
|
|
||||||
return sessionExpiredEvents;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,96 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import jakarta.servlet.ServletException;
|
|
||||||
import jakarta.servlet.annotation.WebServlet;
|
|
||||||
import jakarta.servlet.http.HttpServlet;
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import jakarta.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
@WebServlet(name = "/testServlet", urlPatterns = "/*")
|
|
||||||
public class TestServlet extends HttpServlet {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1243830648280853203L;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
||||||
HttpSession session = req.getSession();
|
|
||||||
|
|
||||||
if (req.getPathInfo().equals("/write")) {
|
|
||||||
String[] params = req.getQueryString().split("&");
|
|
||||||
String key = null;
|
|
||||||
String value = null;
|
|
||||||
for (String param : params) {
|
|
||||||
String[] paramLine = param.split("=");
|
|
||||||
String keyParam = paramLine[0];
|
|
||||||
String valueParam = paramLine[1];
|
|
||||||
|
|
||||||
if ("key".equals(keyParam)) {
|
|
||||||
key = valueParam;
|
|
||||||
}
|
|
||||||
if ("value".equals(keyParam)) {
|
|
||||||
value = valueParam;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
session.setAttribute(key, value);
|
|
||||||
|
|
||||||
resp.getWriter().print("OK");
|
|
||||||
} else if (req.getPathInfo().equals("/read")) {
|
|
||||||
String[] params = req.getQueryString().split("&");
|
|
||||||
String key = null;
|
|
||||||
for (String param : params) {
|
|
||||||
String[] line = param.split("=");
|
|
||||||
String keyParam = line[0];
|
|
||||||
if ("key".equals(keyParam)) {
|
|
||||||
key = line[1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Object attr = session.getAttribute(key);
|
|
||||||
resp.getWriter().print(attr);
|
|
||||||
} else if (req.getPathInfo().equals("/remove")) {
|
|
||||||
String[] params = req.getQueryString().split("&");
|
|
||||||
String key = null;
|
|
||||||
for (String param : params) {
|
|
||||||
String[] line = param.split("=");
|
|
||||||
String keyParam = line[0];
|
|
||||||
if ("key".equals(keyParam)) {
|
|
||||||
key = line[1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
session.removeAttribute(key);
|
|
||||||
resp.getWriter().print(String.valueOf(session.getAttribute(key)));
|
|
||||||
} else if (req.getPathInfo().equals("/invalidate")) {
|
|
||||||
session.invalidate();
|
|
||||||
|
|
||||||
resp.getWriter().print("OK");
|
|
||||||
} else if (req.getPathInfo().equals("/recreate")) {
|
|
||||||
session.invalidate();
|
|
||||||
|
|
||||||
session = req.getSession();
|
|
||||||
|
|
||||||
String[] params = req.getQueryString().split("&");
|
|
||||||
String key = null;
|
|
||||||
String value = null;
|
|
||||||
for (String param : params) {
|
|
||||||
String[] paramLine = param.split("=");
|
|
||||||
String keyParam = paramLine[0];
|
|
||||||
String valueParam = paramLine[1];
|
|
||||||
|
|
||||||
if ("key".equals(keyParam)) {
|
|
||||||
key = valueParam;
|
|
||||||
}
|
|
||||||
if ("value".equals(keyParam)) {
|
|
||||||
value = valueParam;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
session.setAttribute(key, value);
|
|
||||||
|
|
||||||
resp.getWriter().print("OK");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.net.MalformedURLException;
|
|
||||||
|
|
||||||
import jakarta.servlet.ServletContext;
|
|
||||||
import jakarta.servlet.ServletException;
|
|
||||||
import org.apache.catalina.LifecycleException;
|
|
||||||
import org.apache.catalina.core.StandardContext;
|
|
||||||
import org.apache.catalina.startup.Tomcat;
|
|
||||||
import org.apache.catalina.webresources.DirResourceSet;
|
|
||||||
import org.apache.catalina.webresources.StandardRoot;
|
|
||||||
|
|
||||||
public class TomcatServer {
|
|
||||||
|
|
||||||
private Tomcat tomcat = new Tomcat();
|
|
||||||
private StandardContext ctx;
|
|
||||||
|
|
||||||
public TomcatServer(String contextPath, int port, String appBase) throws MalformedURLException, ServletException {
|
|
||||||
if(contextPath == null || appBase == null || appBase.length() == 0) {
|
|
||||||
throw new IllegalArgumentException("Context path or appbase should not be null");
|
|
||||||
}
|
|
||||||
if(!contextPath.startsWith("/")) {
|
|
||||||
contextPath = "/" + contextPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
tomcat.setBaseDir("."); // location where temp dir is created
|
|
||||||
tomcat.setPort(port);
|
|
||||||
tomcat.getHost().setAppBase(".");
|
|
||||||
|
|
||||||
ctx = (StandardContext) tomcat.addWebapp(contextPath, appBase);
|
|
||||||
ctx.setDelegate(true);
|
|
||||||
|
|
||||||
File additionWebInfClasses = new File("target/test-classes");
|
|
||||||
StandardRoot resources = new StandardRoot();
|
|
||||||
DirResourceSet webResourceSet = new DirResourceSet();
|
|
||||||
webResourceSet.setBase(additionWebInfClasses.toString());
|
|
||||||
webResourceSet.setWebAppMount("/WEB-INF/classes");
|
|
||||||
resources.addPostResources(webResourceSet);
|
|
||||||
ctx.setResources(resources);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Start the tomcat embedded server
|
|
||||||
*/
|
|
||||||
public void start() throws LifecycleException {
|
|
||||||
tomcat.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Stop the tomcat embedded server
|
|
||||||
*/
|
|
||||||
public void stop() throws LifecycleException {
|
|
||||||
tomcat.stop();
|
|
||||||
tomcat.destroy();
|
|
||||||
tomcat.getServer().await();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ServletContext getServletContext() {
|
|
||||||
return ctx.getServletContext();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import org.redisson.Redisson;
|
|
||||||
import org.redisson.api.RedissonClient;
|
|
||||||
import org.redisson.spring.session.config.EnableRedissonWebSession;
|
|
||||||
import org.springframework.context.ApplicationContext;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.web.reactive.DispatcherHandler;
|
|
||||||
import org.springframework.web.server.WebHandler;
|
|
||||||
import org.springframework.web.server.adapter.WebHttpHandlerBuilder;
|
|
||||||
|
|
||||||
@EnableRedissonWebSession
|
|
||||||
public class WebConfig {
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public RedissonClient redisson() {
|
|
||||||
return Redisson.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public SessionEventsListener listener() {
|
|
||||||
return new SessionEventsListener();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean(WebHttpHandlerBuilder.WEB_HANDLER_BEAN_NAME)
|
|
||||||
public WebHandler dispatcherHandler(ApplicationContext context) {
|
|
||||||
return new DispatcherHandler(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
package org.redisson.spring.session;
|
|
||||||
|
|
||||||
import org.springframework.web.server.adapter.AbstractReactiveWebInitializer;
|
|
||||||
|
|
||||||
public class WebInitializer extends AbstractReactiveWebInitializer {
|
|
||||||
|
|
||||||
public static Class<?> CONFIG_CLASS = HttpConfig.class;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Class<?>[] getConfigClasses() {
|
|
||||||
return new Class[] {CONFIG_CLASS};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue