springBoot项目如何实现启动多个实例

springBoot项目启动多个实例

今天碰到一个需求是,将一个服务提供者启动两个实例,一个实例对外,一个实例对内,对内价格有折扣,两个实例通过指定不停的profile来区分,要求是不能改造为两个服务提供者,于是我就焦灼了,知道是配置不同的配置文件,但是却是不知道怎么同时启动两个实例。在网上找来找去,稀里糊涂的弄好了。。。。。。。。。

下面附上具体的做法:

根据我的业务需求,我要在配置文件中配置一个折扣, 起名为: discount 。然后根据启动不同的配置文件中从,controller中取得该值,进行业务操作。

请看我的配置文件:

1) 这是不同环境的yml文件,注意 文件名 必须为application-{profile}.yml ,定义我的自定义变量:discount

2) application.yml文件如下: 注意:如果整合了Feign,那么需要写 ribbon.eureka.enabled:false ,不然启动报500

3) 目录结构如下:

注意: dis和 nor等会启动多实例的时候会用到

4)Controller 中通过 @Value("discount") 得到配置文件中的值

5)重点来了,怎么启动呢?

我用的是sts ,eclipse也一样的配置,IDEA请自行百度! 请看 在主启动类名上右键 Run as --> Run Configurations

配置上如上信息, 注意等号右边的 dis和nor就是我们的yml文件中的值,点击run,同样的操作,在将dis改为 nor,在启动一次,这样就同时启动了两个不同端口的一个服务提供者,在eureka注册中心就会有一个微服务下有两个提供者,Feign就可以自动负载均衡了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Spring Boot如何优雅的使用多线程实例详解

    前言 本文带你快速了解@Async注解的用法,包括异步方法无返回值.有返回值,最后总结了@Async注解失效的几个坑. 在 SpringBoot 应用中,经常会遇到在一个接口中,同时做事情1,事情2,事情3,如果同步执行的话,则本次接口时间取决于事情1 2 3执行时间之和:如果三件事同时执行,则本次接口时间取决于事情1 2 3执行时间最长的那个,合理使用多线程,可以大大缩短接口时间.那么在 SpringBoot 应用中如何优雅的使用多线程呢? Don't bb, show me code. 快速

  • 在IDEA启动多个Spring Boot工程实例

    step 1 在IDEA上点击Application右边的下三角 ,弹出选项后,点击Edit Configuration step 2 打开配置后,选中需要多实例启动的应用,2019.1版的idea勾选上allow parallel run(旧版本将默认的Single instance only的钩去掉)--右上角. step 3 通过修改application.yml文件的server.port的端口,启动.多个实例,需要多个端口,分别启动. 例如第一次启动时端口为8761, 修改yml文件s

  • Intellij IDEA实现SpringBoot项目多端口启动的两种方法

    前言 有时候使用springboot项目时遇到这样一种情况,用一个项目需要复制很多遍进行测试,除了端口号不同以外,没有任何不同.这时我们强大的Intellij IDEA就能替我们实现. 实现方法 第一种方法 1.点击图中Edit Configurations,如图 2.取消选中的Single instance only 3.启动项目,demo(9000),如图. 4.修改配置文件中的端口号为9001,启动项目,demo(9001),如图. 从下方可以看到demo项目分别以9000和9001启动了

  • 如何运行SpringBoot项目的方法

    最近在Ecplise上面写了一个简单的Spring Boot的测试项目,Spring Boot里面是有主函数的: 我们知道的是在Ecplise上面找到这个主函数然后run as->java Application 就可以了 但是总不能一直不脱离Ecplise,总要出来自己单练的 第一步:我就新建的一个文件夹boottest,然后右键导出整个工程: 导出的是jar包,然后我们看网上介绍的SpringBoot启动的方法,就兴致勃勃的去启动SpringBoot 第二步:将导出的jar包解压到我刚才创建

  • springBoot项目如何实现启动多个实例

    springBoot项目启动多个实例 今天碰到一个需求是,将一个服务提供者启动两个实例,一个实例对外,一个实例对内,对内价格有折扣,两个实例通过指定不停的profile来区分,要求是不能改造为两个服务提供者,于是我就焦灼了,知道是配置不同的配置文件,但是却是不知道怎么同时启动两个实例.在网上找来找去,稀里糊涂的弄好了......... 下面附上具体的做法: 根据我的业务需求,我要在配置文件中配置一个折扣, 起名为: discount .然后根据启动不同的配置文件中从,controller中取得该

  • springboot项目main函数启动的操作

    springboot项目main函数启动 在controller包下新建appController类 package controller; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBu

  • springBoot 项目排除数据库启动方式

    目录 springBoot 排除数据库启动 1. 场景 2. 配置 Springboot不经过数据库直接启动 问题 错误 原因 解决 springBoot 排除数据库启动 1. 场景 在家里运行项目,运行springBoot的时候报数据库连接不了,公司的数据库家里不能连接. 2. 配置 2.1 保留之前的properties 配置,不删除: 2.2 在启动类中添加 exclude = {DataSourceAutoConfiguration.class} package cn.cncommdat

  • SpringBoot项目中新增脱敏功能的实例代码

    目录 SpringBoot项目中新增脱敏功能 项目背景 项目需求描述 项目解决方案 1. 解决方案 2. 实现代码 2.1 注解 Sensitive 2.1 脱敏类型枚举 SensitiveType 2.3 脱敏工具 DesensitizedUtils 3 使用实例 3.1 需注解对象 3.2 脱敏操作 SpringBoot项目中新增脱敏功能 项目背景 目前正在开发一个SpringBoot项目,此项目有Web端和微信小程序端.web端提供给工作人员使用,微信小程序提供给群众进行预约操作.项目中有

  • springboot项目监控开发小用例(实例分析)

    Spring Boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. SpringBoot简介 SpringBoot是由Pivotal团队在2013年开始研发.2014年4月发布第一个版本的全新开源的轻量

  • 解决复制springboot项目后,启动日志无颜色的问题

    复制springboot项目后,启动日志无颜色 把之前的springboot项目复制到idea后,启动日志无颜色,这是因为复制过来的项目并没有选择springboot模板,需要做下简单的修改. 1,问题图片如下,虽然不影响开发,但是看着就是不爽,改他. 2,点击工具栏的启动设置,如下图: 3,点击左上角"+",然后选择下面的springboot模板 4,选择启动类,然后apply即可.上面的Name随意定义,可以用项目名字 5,重新启动 以上为个人经验,希望能给大家一个参考,也希望大家

  • SpringBoot项目War包部署无法注册到Nacos中的解决

    目录 SpringBoot项目War包部署无法注册到Nacos中 问题 解决方案 SpringBoot项目war包部署及出现的问题 1.修改pom文件 2.在启动类或者配置类中继承SpringBootServletInitializer SpringBoot项目War包部署无法注册到Nacos中 注: 其实标题的描述不是很准确,准确的说是已经注册成功并且可以正常访问,但是在服务列表却看不到. 问题 最近在进行Eureka迁移Nacos架构升级的时候,发现有两个之前的旧项目,虽然也是SpringB

  • springboot项目访问静态资源的配置代码实例

    这篇文章主要介绍了springboot项目访问静态资源的配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这里只是简单记录当上传图片不是放在tomcat其他服务器中时,只是放在磁盘中便可以这样配置,在项目启动后可以访问到磁盘中的资源. @Configuration public class SystemConfigurer implements WebMvcConfigurer { @Value("${jeewx.path.uploa

  • Springboot项目实现Mysql多数据源切换的完整实例

    一.分析AbstractRoutingDataSource抽象类源码 关注import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource以下变量 @Nullable private Map<Object, Object> targetDataSources; // 目标数据源 @Nullable private Object defaultTargetDataSource; // 默认目标数据源 @Null

随机推荐