SpringCloud设置随机端口后的问题
问题描述
SpringCloud服务提供者,设定了随机端口配置后,在EurekaServer中的注册端口、Tomcat的web端口、运行中获取到的server.port配置端口,共出现了4个不同的端口,并且服务消费者使用ribbon时不能通过服务提供者的服务名称进行调用服务
配置信息
spring:
application:
name: client-server
eureka:
client:
service-url:
defaultZone: http://peer1:8761/eureka/
server:
port: ${random.int(8801,8810)}
@RestController
@RequestMapping("/")
public class IndexController {
@Value("${server.port}")
private String port;
@RequestMapping("hello")
public JSONObject hello() {
JSONObject result = new JSONObject();
result.put("producer", port + " 正在处理");
return result;
}
}
启动EurekaServer和本服务,本服务日志显示如下
com.netflix.discovery.DiscoveryClient : DiscoveryClient_CLIENT-SERVER/DESKTOP-IND7D5U:client-server:8808: registering service...
com.netflix.discovery.DiscoveryClient : DiscoveryClient_CLIENT-SERVER/DESKTOP-IND7D5U:client-server:8808 - registration status: 204
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8801 (http) with context path ''
.s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8801
然后问题来了,打开EurekaServer页,可以看到client-server的注册,client-server出现了8806和8808端口,访问http://localhost:8801/hello,返回的server.port是8805


而且服务消费者用了ribbon,也不能通过"http://CLIENT-SERVER/hello"的方式进行调用,会提示异常信息 I/O error on GET request for "http://CLIENT-SERVER/hello"
结论
猜想可能是random.int的问题,网上搜了下这个问题,找到个类似的文章 springboot使用随机端口暴露的问题解决方法,里面提到并给出了自己实现random.int的方法,让随机端口只生成一次,应该可以解决问题
SpringCloud设置随机端口后的问题的更多相关文章
- spring-boot(七) 随机端口
学习文章:springboot小技巧 随机端口 为Spring Cloud的应用实用随机端口非常简单,主要有两种方法: 设置server.port=0,当应用启动的时候会自动的分配一个随机端口,但是该 ...
- socket bind 随机端口
https://www.cprogramming.com/code_blocks/ 这个地址可以下载c, c++的编译器,在windows下可以用的 IDE. bind到端口0上,系统就会自动分配,但 ...
- table表格在设置文字垂直居中后,在表格显示相同排列的数据(比如:testtesttesttsttesttesstestse很多的test)时此表格不能换行
table设置了垂直居中后在表格显示相同排列的数据(比如:testtesttesttsttesttesstestse很多的test)时此表格不能换行, 此时会导致table会把页面撑的很宽,导致表格后 ...
- C# winform解决解决窗体第一次设置为最大化后,点击最大化按钮窗体无法居中问题
public frmMain() { InitializeComponent(); //解决窗体第一次设置为最大化后,点击最大化按钮窗体无法居中问题 int x = Convert.ToInt32(( ...
- Vs2015 win10虚拟机启动问题:无法设置UDP端口 解决方法 合集(转载)
刚装的vs2015 社区版 出现这个问题,wp8.1和win10m模拟器都无法启动,找了好久找到的解决方案,放这儿供大家参考,免得大家像我一样走弯路: Windows Phone emulator n ...
- Flash设置全屏后,放到网页中显示不正常
stage.displayState = StageDisplayState.FULL_SCREEN;//全屏,注意当设置全屏后,放到网页中显示不正常
- [改善Java代码]不要随便设置随机种子
建议30: 不要随便设置随机种子 随机数在太多的地方使用了,比如加密.混淆数据等,我们使用随机数是期望获得一个唯一的.不可仿造的数字,以避免产生相同的业务数据造成混乱.在Java项目中通常是通过Mat ...
- 设置N秒后执行某个方法或函数
设置N秒后执行一个函数,最常用的是设置一个定时器,今天刚看到有这样一个函数,感觉还是比较简单实用的,就先记下来,免得忘记了. 5秒后执行pushSecondController这个函数 [self p ...
- 使用AdvancedInstaller打包web工程设置tomcat端口的方法
原文:使用AdvancedInstaller打包web工程设置tomcat端口的方法 1.首先,要把你要打包的tomcat下的server.xml文件删掉,因为tomcat自带的serv ...
- 在一个没有设置宽高的容器中,为什么设置position:absolute后就可以全屏显示了?
此场景适用于移动端百分比布局,背景全屏显示. 在一个没有设置宽高的容器中设置背景,想要背景全屏显示,设置bcakground-size:100%;后还需设置position:absolut; 原因: ...
随机推荐
- python 提取文件的名字 和路径
# coding=utf-8 import sys import os s = 'C:/Users/Desktop/lesson/python/calss1.py' m_dir = os.path.d ...
- windows用curl报错
https://www.shuzhiduo.com/A/kmzLRmgl5G/ IE浏览器 -> 设置 -> Internet选项 -> 安全 -> 本地Internet -& ...
- 20230225 TI Electromagnetic compatibility testing methods and standards
Hello, and welcome to the TI Precision Labs video, Introducing Electromagnetic Compliance Standard T ...
- Arch安装记录(BIOS+GPT)
尝试了下arch安装,并且尝试了下不长用的BIOS + GPT组合.都说arch的wiki强,确实很强,可惜自己的水平看不了多少. https://wiki.archlinux.org/index.p ...
- clickHouse安装踩坑
1.查看版本 clickhouse-server --version 2.下载 linux机器上 wget下载,有两个安装包体积较大 wget https://packages.clickhouse ...
- 检测到远端rexec服务正在运行中
0.系统 AIX7 1.先备份 /etc/inetd.conf文件 2.vi /etc/inetd.conf vi /etc/inetd.conf ##给原来的行加上注释# # exec .... / ...
- dynamics 365/crm 导入解决方案报 发生 sql server 错误
dynamics 365/crm 导入解决方案报 发生 sql server 错误.{1}{0} 错误代码 80044150. 帮助我解决此问题. 这时候,可以检查数据库服务器的日志看看,可能会找到S ...
- Typora的初使用
HelloTypora 二级标题 三级标题 HelloWorld! HelloWorld HelloWorld HelloWorld HelloWorld HelloWorld 引用 分割线 图片 # ...
- Netty Reactor模型
1.netty抽象出两个线程池:BossGroup负责监听和建立连接 :WorkerGroup 负责网络IO的读写 2.BossGroup 和 WorkerGroup 类型都是NioEventLoop ...
- 36.Vim笔记
1.简介 $vim [filename] vim有三种操作模式,分别称为编辑模式.插入模式和命令模式 2.编辑模式 vim编辑模式的主要用途是在被编辑的文件中移动光标的位置.一旦光标移动到所要的位置, ...