Beispiel #1
0
        private void SetAttributesIfNecessary(IMessage message)
        {
            var needHolder     = ErrorChannel != null && RetryTemplate == null;
            var needAttributes = needHolder || RetryTemplate != null;

            if (needHolder)
            {
                _attributesHolder.Value = ErrorMessageUtils.GetAttributeAccessor(null, null);
            }

            if (needAttributes)
            {
                var attributes = _attributesHolder.Value;
                if (attributes != null)
                {
                    attributes.SetAttribute(ErrorMessageUtils.INPUT_MESSAGE_CONTEXT_KEY, message);
                    if (AttributeProvider != null)
                    {
                        AttributeProvider.Invoke(attributes, message);
                    }
                }
            }
        }