springboot中获取apollo或者nacos里的配置文件

springboot中获取apollo或者nacos里的配置文件,第1张

常规的,在springboot中一般只需要拿appolo或者nacos里配置的属性就够了。

但是也有一些很特殊的场景,要拿到appolo或者nacos里配置的文件,比如有个第三方jar包提供的方法中,要求把properties配置文件路径传进去来初始化第三方jar包里需要用到的东西,这时候一般是把properties文件配置到appolo或者nacos里,但是如何直接拿到这个properties文件而不是里面的属性值呢?

apollo里直接提供了把配置的相应namespace直接转换成file的方法:

再把这个content转换成输入流就可以用了

如果只是想拿到里面某个namespace的属性,则可以:

key为属性key名,c.getPropertyNames()方法能拿到该namespace下面的所有属性,返回一个Set<String>集合,再遍历这个集合就能拿到所有属性。

nacos跟apollo的处理思路有点不一样,找了很多资料,貌似没有找到nacos里直接获取整个获取配置文件的方法,后面如果有同学找到了这个方法记得留言提醒我。

nacos在springboot启动的时候已经把所有配置文件都注入到了spring里。

第一种:可以直接用注解 @Value("${key}")来获取配置好的属性值

第二种:在java里获取:

新建SpringContextUtil实现org.springframework.context.ApplicationContextAware这个接口:

在启动类用注解导入该类:@Import({SpringContextUtil.class})

利用org.springframework.core.env.Environment类来直接获取属性:

如果有这样一个需求,有个第三方的jar包要求初始化配置好的properties文件,只给了properties文件的路径传参,只能用文件路径的方式初始化这个第三方jar包,那么我们就必须保证项目里或者其他文件夹有这个properties文件才可以,而这些配置如果经常要变的话,最好也是配置在nacos或者apollo,如此看来,apollo是可以直接把配置的相应namespace直接转换成file,而nacos大概只能把所有属性手工生成一个新的properties文件来保存到本地了。

这个生成文件的过程,要在springboot启动之后立即执行:

那我们就要建一个配置类实现org.springframework.beans.factory.InitializingBean这个接口,重写afterPropertiesSet()方法:把需要启动后执行的逻辑放在里面,下面是一个示例:

把这个类在启动类里注入:

如此,在启动的时候就可以在本地生成一个cssconfig.properties文件了。

于是乎就可以类似这样调用第三方接口(根据第三方jar包来定):

可以删除,再次开启后会自动生成相关文件。当MQTT出现 DB operation failed. (entering recovery mode) 报错时候,清理此文件夹内的文件再重启MQTT服务器即可解决。

M232系列控制面板显示 “Er 77” 错误

故障现象:

开机加电后打印机不就绪,控制面板显示“rd”,如右边的视频和截图所示,用USB连接打印机到电脑,电脑发现的硬件设备为LaserJet 3020

故障原因:

打印机的固件问题,需要使用Usbsend发送打印机的特殊固件

*** 作步骤:

固件“apollo.rfu”和刷新工具“usbsend.exe”

将两个文件放到同一个文件夹内,例如:C:\M232;

将打印机和电脑使用USB电缆连接(注意:电脑只连接打印机一个USB设备)

发送特殊固件给打印机(推荐使用CMD方式,可以看到固件发送过程和结果,鼠标拖放的方式直观,但是看不到过程,如果报错,也看不到)

方法1:进入命令行模式(在运行里面输入CMD),然后进入到固件所在的文件夹,输入:usbsend apollo.rfu后回车

方法2:在文件资源管理器中,进入到固件所在的文件夹,用鼠标将固件文件拖到usbsend.exe文件上后释放;

打印机接收到固件文件后,控制面板会显示逐渐增加的数值:5,10,15,……,90,00

如果固件接收完成后,打印机没有自动重新启动,请手动关机后重新启动;

重新启动后,打印机将恢复正常。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8062973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存