jboss启动多个springboot项目

springboot项目有N个微服务,正常我们都是用jar直接启,但是我们客户要求用jboss作为服务器,记录以下踩过的坑:
1.运行多个微服务报:unable to register MBean,有两种办法:A spring. jmx. enabled=false 。B spring. jmx. default-domain=project1;spring. jmx. default-domain=project2,保证domain不一样就行。我采用的是第一种。
2.其他微服务获取不到配置中心的配置,明明都注册成功,后来把配置中心和注册中心的端口都改成jboss启动端口8080,还需要在配置中心的eureka加入以下配置:eureka. instance. metadata-map.configPath=/${spring.application.name}/,其他微服务端口不动就可以启动多个了

在 Spring Boot 项目中,选择打包为 **JAR** 或 **WAR** 取决于部署环境、运行方式以及项目的架构需求。以下是两者的比较与建议: ### JAR 包 #### 优点 - **内嵌服务器支持**:JAR 包默认包含内嵌的 Tomcat、Jetty 等 Web 容器,可以直接通过 `java -jar` 命令运行,适合独立部署的微服务架构。 - **部署简单**:无需依赖外部应用服务器,简化了部署流程。 - **快速启动**:内嵌服务器的启动速度通常较快,适合需要频繁部署和快速迭代的场景。 - **模块化部署**:适用于基于容器化(如 Docker)或云原生平台(如 Kubernetes)的部署方式。 #### 缺点 - **缺乏传统 Web 应用结构**:JAR 包不包含标准的 `WEB-INF` 目录和 `web.xml` 文件,可能不适用于需要与多个 Java EE 应用共存的环境。 - **不适用于共享容器**:无法部署到现有的 Servlet 容器中,如 Tomcat、Jetty 等,除非使用特定的插件进行调整。 ### WAR 包 #### 优点 - **兼容传统部署方式**:WAR 包可以部署在标准的 Servlet 容器中,如 Tomcat、Jetty 或 JBoss 等,适合需要与现有系统集成的场景。 - **标准化结构**:包含标准的 Web 应用目录结构,如 `WEB-INF/web.xml`,便于与其他 Web 应用共享部署环境。 - **共享资源管理**:可以在多个 WAR 包之间共享类库和配置,减少内存占用。 #### 缺点 - **依赖外部容器**:需要额外安装和维护应用服务器,部署流程相对复杂。 - **启动速度较慢**:依赖外部容器启动,整体启动时间较长。 - **灵活性较低**:不便于快速迭代或在容器化环境中部署。 ### 配置建议 - **选择 JAR 的场景**: - 项目为独立的微服务。 - 使用容器化部署(如 Docker)。 - 希望快速启动并简化部署流程。 - 不需要与传统 Java EE 应用共存。 - **选择 WAR 的场景**: - 需要部署到已有的应用服务器(如 Tomcat)。 - 项目需要与多个 Web 应用共享运行环境。 - 依赖传统的 Web 应用结构和配置。 ### 修改打包方式 在 Maven 项目中,可以通过修改 `pom.xml` 文件中的 `<packaging>` 标签来指定打包方式: - 打包为 WAR: ```xml <packaging>war</packaging> ``` - 打包为 JAR(默认): ```xml <packaging>jar</packaging> ``` 同时,打包 WAR 时需要确保主类继承 `SpringBootServletInitializer`,以支持外部容器启动: ```java @SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Application.class); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` ### 总结 - **JAR** 更适合现代微服务架构和容器化部署,提供快速启动和独立运行的能力。 - **WAR** 更适合传统企业环境,便于与现有系统集成和共享资源。 选择合适的打包方式可以提高部署效率并降低维护成本。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值