1
我有一個連接到RabbitMQ服務器的Spring Cloud Stream應用程序。我們在Rabbit MQ中使用rabbitmq-auth-backend-uaa插件,但這不是問題。Spring雲流自動重新連接到兔子MQ
該插件會檢查在創建與Rabbit MQ的連接時作爲用戶名發送的oAuth2.0 JWT令牌。
要做到這一點,我有這樣的代碼在我的Spring應用程序:
@Bean
@Primary
ConnectionFactory connectionFactory() throws Exception {
//These lines get the token from the UAA automatically.
MyTokenService tokenService = new MyTokenService();
String token= tokenService.obtainAccessToken(); // HTTP POST request to the UAA
AbstractConnectionFactory connectionFactory = new CachingConnectionFactory("localhost");
connectionFactory.setUsername(token);
return connectionFactory;
}
的問題是,該令牌將過期每隔一小時,因此連接的用戶名已被重新加載(調用tokenService.obtainAccessToken ())。
這是自動完成的嗎?我怎樣才能確保連接每次都會重新加載?