如何在项目启动后初始化指定@Bean?

Inory丶snow 2019-07-20 02:41:26
@Configuration
@EnableConfigurationProperties
public class RabbitMqConfig {
@Bean
public CachingConnectionFactory connectionFactory() {

//这里从数据库中读取MQ连接信息,包括(host,port,username,password)

CachingConnectionFactory connection = new CachingConnectionFactory();
connection.setAddresses(host+":"+port);
connection.setUsername(username);
connection.setPassword(password);
connection.setVirtualHost("/");
connection.setPublisherConfirms(true);
connection.setPublisherReturns(true);
return connection;
}
}
主要代码如上,目前的需求是,对方提供给我MQ连接信息,但是会不定期更新,所以不能直接写在properties中,目前是将MQ连接信息写入数据库,在项目启动时加载该Bean,从数据库中读取,并初始化。
但是问题是,如果MQ信息有更新,因为该Bean只在项目启动时加载一次,所以新的MQ信息并不会应用进来
所以想要进行一个判断操作
如果MQ连接失败,则初始化该指定Bean,重新从数据库中读取MQ连接信息并写入
请问这样的操作可以实现吗
...全文
110 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,547

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧