我在Spring 4中在bean下面创建了文件。目前在下面的配置文件中将HOST和其他变量声明为static。 但是要动态地从数据库中获取它。无法找到一种获取方法。
请提出从数据库中获取它的方法。
@Configuration
public class RabbitMqConfiguration {
public static final String HOST = "localhost";
public static final String USERNAME = "test";
public static final String PASSWORD = "test";
public static final int CHANNEL_CACHE_SIZE = 25;
public static final int CONNECTION_CLOSE_TIMEOUT = 30000;
public static final int CONNECTION_CACHE_SIZE = 1;
public static final int REQUEST_HEART_BEAT = 0;
@Bean
public ConnectionFactory connectionFactory() {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory(HOST);
connectionFactory.setUsername(USERNAME);
connectionFactory.setPassword(PASSWORD);
connectionFactory.setCloseTimeout(CONNECTION_CLOSE_TIMEOUT);
connectionFactory.setChannelCacheSize(CHANNEL_CACHE_SIZE);
connectionFactory.setConnectionCacheSize(CONNECTION_CACHE_SIZE);
connectionFactory.setRequestedHeartBeat(REQUEST_HEART_BEAT);
return connectionFactory;
}
}
答案 0 :(得分:0)
有两种方法可以使用MutablePropertySources
加载属性,也可以仅将属性存储在HashMap
中。
解决方案背后的基本思想如下:
@PostConstruct
批注以从db中读取消息传递配置。RabbitMqConfiguration
中自动装配DBConfiguration类。PropertySources
编辑MutablePropertySources
或直接创建HashMap
来加载配置。您可以参考MutablePropertySources或