首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在spring boot 1.3.x for embedded tomcat中添加tomcat会话复制

在Spring Boot 1.3.x中,可以通过添加一些配置来实现在嵌入式Tomcat中实现会话复制。以下是一种可能的方法:

  1. 首先,在pom.xml文件中添加以下依赖项,以引入Tomcat的会话复制支持:
代码语言:txt
复制
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-session</artifactId>
</dependency>
  1. 在application.properties文件中添加以下配置,以启用会话复制:
代码语言:txt
复制
# 启用会话复制
server.session.persistent=true
# 设置会话复制的存储方式
server.session.store-type=jdbc
# 设置会话复制的JDBC数据源
spring.datasource.url=jdbc:mysql://localhost:3306/session_db
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

请注意,上述配置假设您已经有一个MySQL数据库,并且已经创建了一个名为session_db的数据库。

  1. 创建一个名为SessionConfig的Java类,并添加以下内容:
代码语言:txt
复制
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatContextCustomizer;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SessionConfig {

    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                // 添加会话复制支持
                context.setManager(new org.apache.catalina.session.PersistentManager());
            }
        };

        // 添加HTTP连接器,用于会话复制
        tomcat.addAdditionalTomcatConnectors(createHttpConnector());

        return tomcat;
    }

    private Connector createHttpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(8080);
        connector.setSecure(false);
        connector.setRedirectPort(8443);
        return connector;
    }
}

上述配置将创建一个TomcatEmbeddedServletContainerFactory bean,并在其中添加会话复制支持。它还创建了一个HTTP连接器,用于会话复制。

  1. 现在,您可以在Spring Boot应用程序中使用会话对象,并确保它们在多个Tomcat实例之间进行复制。

请注意,上述配置仅适用于Spring Boot 1.3.x版本,并且仅涵盖了在嵌入式Tomcat中实现会话复制的基本步骤。在实际应用中,您可能需要根据您的具体需求进行进一步的配置和调整。

推荐的腾讯云相关产品:腾讯云服务器CVM、腾讯云数据库MySQL、腾讯云负载均衡CLB。

更多关于Spring Boot的信息,请参考腾讯云产品文档:Spring Boot

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

两种方案解决报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasour

(exclude = { DataSourceAutoConfiguration.class }) 方案二 在application.yml文件添加排除自动配置 spring: autoconfigure...spring.autoconfigure.exclude= org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration...Found 0 JPA repository interfaces. 2022-09-28 17:03:07 [INFO] org.springframework.boot.web.embedded.tomcat.TomcatWebServer...embedded WebApplicationContext 2022-09-28 17:03:07 [INFO] org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext...原因在于,在pom文件,使用跟数据库相关的依赖,spring-data,druid等,需要把数据库相关的依赖去掉,然后再加上注解,就能实现无数据库启动springboot了。 亲测方案2有效~

2.2K40

自定义Spring Boot内置Tomcat的404页面

spring boot 的相关404页面配置都是针对项目路径下的(如果配置了 context-path) 在context-path不为空的情况下,如果访问路径不带context-path,这时候会显示空白页面或者是...查看tomcat错误页面的实现源码org.apache.catalina.valves.ErrorReportValue: report方法先查找是否注册了错误页面,默认情况未注册任何错误页面,然后通过...boot 默认打成的jar包运行tomcat,所以必须要把404页面放到外部,这里先将404.html放到resource目录下,然后启动过程中将页面复制tomcat临时目录,将404路径指向该页面就可以了...  org.springframework.boot.web.embedded.tomcat.ConfigurableTomcatWebServerFactory; import org.springframework.core.io.ClassPathResource...  org.springframework.boot.web.embedded.tomcat.ConfigurableTomcatWebServerFactory; import org.springframework.core.io.ClassPathResource

1.5K00

Mac下解决程序端口占用

(TomcatEmbeddedServletContainer.java:194) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start...(TomcatEmbeddedServletContainer.java:194) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start...: Unable to start embedded Tomcat servlet container at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start...: Tomcat connector in failed state at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start...在用kill命令杀死进程后,我们可以使用lsof -i:8080重新查找使用8080端口的进程,没找到,说明8080端口进程被杀死,此时,在eclipse重启Spring Boot的Application

81840

这可能是史上最易懂的 Spring Boot 入门教程

基于 Spring Boot 内部的自动化配置功能,开发者可以在"零"配置, 或者只需要添加很少的配置,就可以进行日常的功能开发。...: 2、点击 Next,弹出填写 maven 项目的需要的相关信息,这里我们用默认的就好了,继续点击 Next; 3、再次弹出框,这里可以勾选开发需要的 Starter 的组件, Web, Redis.../mail/resources: 资源目录,用于放置相关配置文件,静态文件 html, css 等; src/test/java: 存放单元测试类 3.3 引入 Web 依赖 在 pom.xml 文件添加...back to default profiles: default 2019-04-14 19:58:00.666 INFO 3680 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer...ExecutorService 'applicationTaskExecutor' 2019-04-14 19:58:01.183 INFO 3680 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer

1.7K30

吊打 Tomcat ,Undertow 性能很炸!!

6)高灵活性 一个 Undertow 服务器是通过链式处理器来配置的,可以根据需要添加功能,因此可以避免添加没有必要的功能。 Undertow 性能如何? 国外有篇帖子做了 Tomcat vs....Undertow 三者的性能比较: https://examples.javacodegeeks.com/enterprise-java/spring/tomcat-vs-jetty-vs-undertow-comparison-of-spring-boot-embedded-servlet-containers...Spring Boot & Undertow 上面讲到,Undertow 是为嵌入式而生的 Web 容器,又是 Spring Boot 默认集成的容器之一,下面栈长带大家来看下如何在 Spring Boot...因为在 spring-boot-starter-web 启动器TomcatSpring Boot 默认的嵌入式容器,即:spring-boot-starter-tomcat。...Spring Boot 还提供了其他两个启动器以方便进行代替: spring-boot-starter-jetty spring-boot-starter-undertow 下面来简单实战下,如何在 Spring

2K30

SpringBoot+虚拟线程,接口吞吐量成倍增加,太爽了!

大家好,我是不才陈某~ 在这篇文章,我们将看到如何在spring-boot利用loom虚拟线程。我们还将在JMeter的帮助下做一些负载测试,看看虚拟线程和普通线程的响应时间如何。...; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer...; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer...我们还添加了响应时间图侦听器。 现在让我们运行测试并等待 200 秒。 从图中我们可以看到,一旦Tomcat的整个线程池被利用,响应时间从3600毫秒猛增到5200毫秒。...; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer

39810

springboot 自定义错误页面

Spring Boot 默认使用嵌入式 Tomcat,默认没有页面来处理404等常见错误。因此,为了给用户最佳的使用体验,404等常见错误需要我们自定义页面来处理。...; import org.springframework.boot.context.embedded.tomcat.TomcatConnectorCustomizer; import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory...; import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory...org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer org.springframework.boot.context.embedded.tomcat.TomcatConnectorCustomizer...org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory

72220

使用Spring Session实现Spring Boot水平扩展

另外一个需要解决的问题是会话管理, 单个Spring Boot应用的会话Tomcat来管理,会话信息与Tomcat存放在一起。...复制会话:Web服务器通常都支持Session复制,一台应用的会话信息改变将立刻复制到其他集群的Web服务器上。...集中式会话:所有Web服务器都共享一个会话会话信息通常存放在一台服务器上,本文使用Redis服务器来存放会话复制会话的缺点是每次会话改变需要复制到多台Web服务器上,效率较低。...在配置文件application.properties添加如下内容: spring.session.store-type=Redis|JDBC|Hazelcast|none Spring Boot配置很容易切换到不同的...JDBC,会话数据存放在数据库,默认情况下SPRING_SESSION表存放Session基本信息,sessionId、创建时间、最后一次访问时间等,SPRING_SESSION_ ATTRIBUTES

1K20

Springboot 系列(十七)迅速使用 Spring Boot Admin 监控你的 Spring Boot 程序

添加依赖 只需要添加 web 依赖和 Spring-boot-admin-starter-server 依赖。...Spring Boot Admin 客户端 创建 Spring Boot 项目依旧不提,这里只需要添加 Spring Boot Admin 客户端需要的依赖,在项目启动时就会增加相关的获取信息的 API...然后在 Spring Boot 配置文件配置 Spring Boot Admin 服务端,就可以进行监控了。...Spring Boot Admin 可以获取应用的定时任务,所以在代码增加一个定时任务计划,每 20 秒输出一次当前时间,日志级别为 INFO,用于下面的定时任务和日志监控测试。...Spring Boot Admin Server 监控页面 Spring Boot Admin Server 可以监控的功能很多,使用起来没有难度,下面描述下可以监测的部分内容: 应用运行状态,时间、

1.6K20

Spring Boot 2.x 入门:构建第一个Web应用程序

Boot介绍 https://baike.baidu.com/item/Spring%20Boot/20249767 https://spring.io/projects/spring-boot 二、...、输出Hello World 启动项目 使用快捷键Shift+F10启动即可 (或者在启动类App编辑区域,使用右键菜单->Run “App”启动) 控制台输出片段: [main] o.s.b.w.embedded.tomcat.TomcatWebServer...: Started App in 1.535 seconds (JVM running for 3.263) 从输出的信息可以看出,Spring Boot也是跑在Tomcat的...想知道Spring Boot还依赖了那些组件,在Pom.xml文件Ctrl+鼠标单击org.springframework.boot即可 访问测试 项目启动后,访问 http://localhost...用于构建API @EnableAutoConfiguration 将根据添加的jar依赖自动配置Spring,比如我们的应用依赖于spring-boot-starter-web,而它又依赖Tomcat

64140

Spring Boot 2.3 优雅关闭新姿势,真香!

Java技术栈 www.javastack.cn 打开网站看更多优质文章 最新的 Spring Boot 2.3 发布快半个月了: https://spring.io/blog/2020/05/15/...,下面是官方的说明: Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat...再来看第二个参数配置接收类: org.springframework.boot.autoconfigure.context.LifecycleProperties 源码所示,默认缓冲时间为:30 秒。...再看下优雅关闭的源码: 根据 Graceful 可以找到几个相关的类,我们进入 Tomcat 的: org.springframework.boot.web.embedded.tomcat.GracefulShutdown...另外,Spring Boot 优雅关闭需要配合 Actuator 的 /shutdown 端点来进行触发,具体参考这篇文章:Spring Boot 优雅停止服务的几种方法。

75920
领券