001.Spring Boot 整合 Dubbo 使用 war 包部署报错

1. 场景前提

假设有这样一个场景:一个 Spring Boot 应用使用了 Dubbo(2.6.5) 作为 RPC 组件,现在想利用 war 包的方式部署在 tomcat 上,利用 tomcat 来启动应用

默认 Spring Boot 启动是依靠 java -jar xxx.jar 的方式来启动,这种启动方式只会带动一个 Spring Context 容器,如果是用 war 包方式来启动,那么就会涉及到 Spring 的父子容器,在与 Dubbo 进行集成时,是否会出现问题呢

2. 环境搭建

代码已经上传至 https://github.com/masteryourself/diseases ,详见 diseases-dubbo/diseases-dubbo-war 工程

正常的 Spring Boot 应用打成 war 包,只需要按照如下两步即可生成 war 包,然后使用外置 Tomcat 容器部署 war 包即可

2.1 配置文件
1. pom.xml

把之前的 pom_back.xml 改成 pom.xml

<!-- 修改打包方式为 war -->
<packaging>war</packaging>

<dependencies>

    <!-- 依赖改为 provided -->
    <!-- 注意:这里不再需要引入 servlet-api jar 包了,因为 tomcat-embed-core jar 包已经内置了 javax.servlet 包 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.6</version>
            <configuration
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值