29
29
import org .springframework .amqp .core .Binding ;
30
30
import org .springframework .amqp .core .Binding .DestinationType ;
31
31
import org .springframework .amqp .core .BindingBuilder ;
32
+ import org .springframework .amqp .core .Declarable ;
33
+ import org .springframework .amqp .core .Declarables ;
32
34
import org .springframework .amqp .core .Queue ;
33
35
import org .springframework .amqp .core .TopicExchange ;
34
36
import org .springframework .amqp .rabbit .connection .CachingConnectionFactory ;
@@ -198,14 +200,16 @@ protected Binding binding() {
198
200
}
199
201
200
202
@ Bean
201
- public List < Binding > bindings () {
203
+ public Declarables bindings () {
202
204
String [] bindingKeysArray = splitBindingKeys (rmqProperties .getBindingKeys ());
203
- List <Binding > bindingList = new ArrayList <Binding >();
205
+ List <Binding > bindingsList = new ArrayList <Binding >();
206
+ List <Declarable > bindingList = new ArrayList <Declarable >();
204
207
for (String bindingKey : bindingKeysArray ) {
208
+ bindingsList .add (BindingBuilder .bind (externalQueue ()).to (exchange ()).with (bindingKey ));
205
209
bindingList .add (BindingBuilder .bind (externalQueue ()).to (exchange ()).with (bindingKey ));
206
210
}
207
- deleteBindings (bindingKeysArray ,bindingList );
208
- return bindingList ;
211
+ deleteBindings (bindingKeysArray ,bindingsList );
212
+ return new Declarables ( bindingList ) ;
209
213
}
210
214
211
215
private boolean isRMQCredentialsSet () {
@@ -225,7 +229,7 @@ private String[] splitBindingKeys(String bindingKeys) {
225
229
* Binding key which is not present in the current AMQPBindingObjectList gets deleted and removed from mongoDB.
226
230
* @return
227
231
*/
228
- private void deleteBindings (String [] newBindingKeysArray , List <Binding > AMQPBindingObjectList ) {
232
+ private void deleteBindings (String [] newBindingKeysArray , List <Binding > amqpBindingObjectList ) {
229
233
// Creating BindingKeys Collection in mongoDB
230
234
ArrayList <String > allDocuments = mongoDBHandler .getAllDocuments (dataBaseName , collectionName );
231
235
ArrayList <String > existingBindingsData = new ArrayList <String >();
@@ -250,16 +254,16 @@ private void deleteBindings(String[] newBindingKeysArray, List<Binding> AMQPBind
250
254
}
251
255
}
252
256
// to store the binding keys used for rabbitMQ, in mongo db.
253
- storeNewBindingKeys (existingBindingsData , AMQPBindingObjectList );
257
+ storeNewBindingKeys (existingBindingsData , amqpBindingObjectList );
254
258
}
255
259
256
260
/**
257
261
* This method is used to store the binding keys used for rabbitMQ, in mongoDB.
258
262
* @return
259
263
*/
260
- private void storeNewBindingKeys (ArrayList <String > existingBindingsData , List <Binding > AMQPBindingObjectList ){
264
+ private void storeNewBindingKeys (ArrayList <String > existingBindingsData , List <Binding > amqpBindingObjectList ){
261
265
// comparing with the stored key and adding the new binding key into the mongoDB.
262
- for (final Binding bindingKey :AMQPBindingObjectList ){
266
+ for (final Binding bindingKey :amqpBindingObjectList ){
263
267
if (existingBindingsData .contains (bindingKey .getRoutingKey ())){
264
268
LOGGER .info ("Binding already present in mongoDB" );
265
269
}else {
0 commit comments