首页
学习
活动
专区
工具
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

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

相关·内容

  • 建立SpringBoot项目

    在最新版本,通过Eclipse建立Spring Boot项目,使用在Eclipse市场安装目前不太稳定,需要重新安装Spring Boot版本的Eclipse,现在介绍如何进行。...安装JDK 17 2 使用start.spring.io创建一个“web”项目。在“依赖项”对话框搜索并添加“web”依赖项,屏幕截图所示。...3 start.spring.io创建的项目包含spring Boot,这是一个使spring可以在应用程序工作的框架,但不需要太多代码或配置。...现在,通过添加下面代码显示的额外方法和注释来更改文件的内容。您可以复制并粘贴代码,也可以直接键入代码。...我们添加的hello()方法设计为使用一个名为name的String参数,然后将该参数与代码的单词“hello”组合。

    9410

    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

    88040

    自定义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.6K00

    吊打 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

    2.1K30

    两种方案解决报错: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有效~

    3.8K40

    这可能是史上最易懂的 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.8K30

    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

    50410

    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

    81120

    使用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.8K20

    Spring Boot 项目部署实战:WAR 包部署与 Tomcat 安装

    虽然 Spring Boot 默认支持将应用程序打包成可执行的 JAR 文件,但在某些情况下,我们可能需要将其打包成 WAR 文件以便部署到传统的 Java 应用服务器( Tomcat)。...本文将详细介绍如何将 Spring Boot 项目打包成 WAR 文件,并在 Tomcat 上进行部署。...上,你可以使用解压缩工具( 7-Zip)将压缩包解压到指定目录。...现在,你可以将 Spring Boot 项目打包成 WAR 文件,并将其部署到 Tomcat 上运行。 部署到 Tomcat 将生成的 WAR 文件复制Tomcat 的 webapps 目录下。...结语 通过以上步骤,你已经成功地将 Spring Boot 项目打包成 WAR 文件,并了解了如何在 Tomcat 上进行部署,希望本文对你有所帮助。

    1.1K21
    领券