@@ -451,53 +451,65 @@ public void removeProxyPrivilege_shouldHandleNullArrayGracefully() {
451451 authenticate ();
452452 }
453453 }
454-
454+
455455 /**
456456 * Dummy implementations used strictly for testing dynamic Spring bean loading.
457457 */
458458 class DummyTestMessageSender implements MessageSender {
459+
459460 @ Override
460461 public void send (Message message ) throws MessageException {
461462 // No operation required for the test
462463 }
463464 }
464-
465+
465466 class DummyTestMessagePreparator implements MessagePreparator {
467+
466468 @ Override
467469 public Message prepare (Template template ) throws MessageException {
468470 // No operation required for the test, returning null is perfectly fine
469471 // because the test only checks if the object is loaded, not if it runs.
470472 return null ;
471473 }
472474 }
473-
475+
474476 /**
475477 * @see Context#getMessageService()
476478 */
477479 @ Test
478480 public void getMessageService_shouldDynamicallyLoadMessageSenderAndPreparatorFromSpringContext () {
479-
481+
480482 MessageService service = Context .getMessageService ();
481483 service .setMessageSender (null );
482484 service .setMessagePreparator (null );
483-
484- ConfigurableApplicationContext appContext =
485- (ConfigurableApplicationContext ) Context .getServiceContext ().getApplicationContext ();
486-
487- DefaultListableBeanFactory beanFactory =
488- (DefaultListableBeanFactory ) appContext .getBeanFactory ();
489-
485+
486+ ConfigurableApplicationContext appContext = (ConfigurableApplicationContext ) Context .getServiceContext ()
487+ .getApplicationContext ();
488+
489+ DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory ) appContext .getBeanFactory ();
490+
490491 DummyTestMessageSender dummySender = new DummyTestMessageSender ();
491492 DummyTestMessagePreparator dummyPreparator = new DummyTestMessagePreparator ();
492-
493- beanFactory .registerSingleton ("dummyTestMessageSender" , dummySender );
494- beanFactory .registerSingleton ("dummyTestMessagePreparator" , dummyPreparator );
495-
496- MessageService reinitializedService = Context .getMessageService ();
497- MessagePreparator activePreparator = reinitializedService .getMessagePreparator ();
498-
499- MessageSender activeSender = reinitializedService .getMessageSender ();
500- assertEquals (dummySender , activeSender , "The MessageService should use the dynamically registered DummyTestMessageSender" );
501- assertEquals (dummyPreparator , activePreparator , "The MessageService should use the dynamically registered DummyTestMessagePreparator" );
493+
494+ try {
495+ beanFactory .registerSingleton ("dummyTestMessageSender" , dummySender );
496+ beanFactory .registerSingleton ("dummyTestMessagePreparator" , dummyPreparator );
497+
498+ MessageService reinitializedService = Context .getMessageService ();
499+ MessagePreparator activePreparator = reinitializedService .getMessagePreparator ();
500+
501+ MessageSender activeSender = reinitializedService .getMessageSender ();
502+ assertEquals (dummySender , activeSender ,
503+ "The MessageService should use the dynamically registered DummyTestMessageSender" );
504+ assertEquals (dummyPreparator , activePreparator ,
505+ "The MessageService should use the dynamically registered DummyTestMessagePreparator" );
506+
507+ } finally {
508+ beanFactory .destroySingleton ("dummyTestMessageSender" );
509+ beanFactory .destroySingleton ("dummyTestMessagePreparator" );
510+
511+ Context .getMessageService ().setMessageSender (null );
512+ Context .getMessageService ().setMessagePreparator (null );
513+ }
502514 }
503515}
0 commit comments