/// <summary> /// Invoked by an <see cref="Spring.Objects.Factory.IObjectFactory"/> /// after it has injected all of an object's dependencies. /// </summary> /// <remarks> /// Ensure that the DefaultMessageQueueObjectName property is set, creates /// a default implementation of the <see cref="IMessageQueueFactory"/> interface /// (<see cref="DefaultMessageQueueFactory"/>) that retrieves instances on a per-thread /// basis, and registers in the Spring container a default implementation of /// <see cref="IMessageConverter"/> (<see cref="XmlMessageConverter"/>) with a /// simple System.String as its TargetType. <see cref="QueueUtils.RegisterDefaultMessageConverter"/> /// </remarks> public void AfterPropertiesSet() { if (MessageQueueFactory == null) { AssertUtils.ArgumentNotNull(applicationContext, "MessageQueueTemplate requires the ApplicationContext property to be set if the MessageQueueFactory property is not set for automatic create of the DefaultMessageQueueFactory"); DefaultMessageQueueFactory mqf = new DefaultMessageQueueFactory(); mqf.ApplicationContext = applicationContext; messageQueueFactory = mqf; } if (messageConverterObjectName == null) { messageConverterObjectName = QueueUtils.RegisterDefaultMessageConverter(applicationContext); } //If it has not been set by the user explicitly, then initialize. CreateDefaultMetadataCache(); }