55
55
import org .springframework .amqp .rabbit .test .LogLevelAdjuster ;
56
56
import org .springframework .amqp .utils .test .TestUtils ;
57
57
import org .springframework .beans .factory .DisposableBean ;
58
+ import org .springframework .context .ApplicationContext ;
58
59
import org .springframework .context .support .GenericApplicationContext ;
59
60
60
61
import com .rabbitmq .client .Channel ;
@@ -395,12 +396,12 @@ public void testSingleListenerDoesRecoverFromMissingQueueWhenNotFatalGlobalProps
395
396
RabbitAdmin admin = new RabbitAdmin (connectionFactory );
396
397
admin .deleteQueue ("nonexistent" );
397
398
try {
398
- container = doCreateContainer ("nonexistent" , new VanillaListener (latch ), connectionFactory );
399
399
Properties properties = new Properties ();
400
400
properties .setProperty ("mlc.missing.queues.fatal" , "false" );
401
401
GenericApplicationContext context = new GenericApplicationContext ();
402
402
context .getBeanFactory ().registerSingleton ("spring.amqp.global.properties" , properties );
403
403
context .refresh ();
404
+ container = doCreateContainer ("nonexistent" , new VanillaListener (latch ), connectionFactory , context );
404
405
container .setApplicationContext (context );
405
406
container .start ();
406
407
testRecoverMissingQueues (latch , connectionFactory );
@@ -458,6 +459,15 @@ private SimpleMessageListenerContainer createContainer(String queueName, Object
458
459
459
460
protected SimpleMessageListenerContainer doCreateContainer (String queueName , Object listener ,
460
461
ConnectionFactory connectionFactory ) {
462
+
463
+ return doCreateContainer (queueName , listener , connectionFactory , null );
464
+ }
465
+
466
+
467
+
468
+ protected SimpleMessageListenerContainer doCreateContainer (String queueName , Object listener ,
469
+ ConnectionFactory connectionFactory , ApplicationContext context ) {
470
+
461
471
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer (connectionFactory );
462
472
container .setMessageListener (new MessageListenerAdapter (listener ));
463
473
container .setQueueNames (queueName );
@@ -468,6 +478,9 @@ protected SimpleMessageListenerContainer doCreateContainer(String queueName, Obj
468
478
container .setRecoveryInterval (100 );
469
479
container .setFailedDeclarationRetryInterval (100 );
470
480
container .setReceiveTimeout (50 );
481
+ if (context != null ) {
482
+ container .setApplicationContext (context );
483
+ }
471
484
container .afterPropertiesSet ();
472
485
return container ;
473
486
}
0 commit comments