springboot2.xxx使用hystrixDashboard遇到的坑

由于springcould版本问题使用hystrix遇到了神坑

首先 按照一篇博客所言配置好后访问监控页面出现了第一个问题:

在这里插入图片描述

一直在loading。。,请求调用后,没有数据输出。

按F12进入控制台调试发现报错信息:  Uncaught: TypeError: e.indexOf is not a function.

通过定位分析发现:

Hoxton依赖的jquery版本为3.4.1,定位到monitor.ftlh文件中,js的写法如下:

$(window).load(function()

修改方案:
修改monitor.ftlh为如下调用方式:
$(window).on("load",function()


编译jar源文件,重新打包引入后错误消失。

然而。。。。。。。。。。。。。。。。。。。。

又出现了如下错误:

首先查看依赖是否添加全面

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

其次启动程序注解是否添加

@EnableCircuitBreaker
@EnableHystrixDashboard

如果都没问题那么检查下springboot 版本如果是2.0则需要添加 ServletRegistrationBean 因为springboot的默认路径不是 "/hystrix.stream",只要在自己的项目里配置上下面的servlet就可以了

@Bean
    public ServletRegistrationBean getServlet() {
        HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
        ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
        registrationBean.setLoadOnStartup(1);
        registrationBean.addUrlMappings("/hystrix.stream");
        registrationBean.setName("HystrixMetricsStreamServlet");
        return registrationBean;
    }

 

 

在Spring Boot 2.x中整合Nacos配置服务,可以通过Nacos提供的Spring Cloud Config支持类来实现配置获取和刷新。 首先,在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 然后,在application.properties(或application.yml)文件中配置Nacos的服务器地址、命名空间、应用名、配置信息等: ```properties spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.namespace=xxx spring.cloud.nacos.config.group=xxx spring.cloud.nacos.config.prefix=xxx spring.cloud.nacos.config.file-extension=properties ``` 其中,server-addr是Nacos服务器的地址,namespace是命名空间,group是配置分组,prefix是配置前缀,file-extension是配置文件的扩展名。 然后,可以通过@Value注解来获取配置信息: ```java @Value("${xxx}") private String xxx; ``` 如果需要动态刷新配置,可以添加@RefreshScope注解,并在配置类中添加@NacosConfigListener注解监听配置变化: ```java @Configuration @RefreshScope public class Config { @Value("${xxx}") private String xxx; @NacosConfigListener(dataId = "xxx", groupId = "xxx", timeout = 5000) public void onMessage(String config) { // 重新加载配置 xxx = config; } } ``` 其中,dataId是配置信息的ID,groupId是配置分组的ID,timeout是超时时间。 这样,当Nacos配置信息发生变化时,就会触发onMessage方法重新加载配置信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值