Skip to content

Commit d0d75f1

Browse files
authored
Adding support for retry policy (SupportsRetryAttribute)
1 parent f24513d commit d0d75f1

File tree

4 files changed

+48
-10
lines changed

4 files changed

+48
-10
lines changed

eng/Packages.Data.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
<PackageReference Update="Microsoft.Azure.SignalR.Management" Version="1.16.1" />
127127
<PackageReference Update="Microsoft.Azure.SignalR.Protocols" Version="1.16.1" />
128128
<PackageReference Update="Microsoft.Azure.SignalR.Serverless.Protocols" Version="1.6.0" />
129-
<PackageReference Update="Microsoft.Azure.WebJobs" Version="3.0.31" />
129+
<PackageReference Update="Microsoft.Azure.WebJobs" Version="3.0.32" />
130130
<PackageReference Update="Microsoft.Azure.WebJobs.Sources" Version="3.0.30" />
131131
<PackageReference Update="Microsoft.Spatial" Version="7.5.3" />
132132
<PackageReference Update="Newtonsoft.Json" Version="10.0.3" />

sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/CHANGELOG.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
11
# Release History
22

33
## 5.1.0-beta.1 (Unreleased)
4-
54
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
10-
11-
### Other Changes
5+
- Adding support for retry policy (SupportsRetryAttribute)
126

137
## 5.0.1 (2022-03-09)
148

sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/src/Triggers/EventHubTriggerAttributeBindingProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ public Task<ITriggerBinding> TryCreateAsync(TriggerBindingProviderContext contex
7070
_loggerFactory);
7171
return Task.FromResult(listener);
7272
};
73-
7473
#pragma warning disable 618
7574
ITriggerBinding binding = BindingFactory.GetTriggerBinding(new EventHubTriggerBindingStrategy(), parameter, _converterManager, createListener);
7675
#pragma warning restore 618
77-
return Task.FromResult(binding);
76+
ITriggerBinding eventHubTriggerBindingWrapper = new EventHubTriggerBindingWrapper(binding);
77+
return Task.FromResult(eventHubTriggerBindingWrapper);
7878
}
7979
} // end class
8080
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the MIT License. See License.txt in the project root for license information.
3+
4+
using Microsoft.Azure.WebJobs.Host;
5+
using Microsoft.Azure.WebJobs.Host.Bindings;
6+
using Microsoft.Azure.WebJobs.Host.Listeners;
7+
using Microsoft.Azure.WebJobs.Host.Protocols;
8+
using Microsoft.Azure.WebJobs.Host.Triggers;
9+
using System;
10+
using System.Collections.Generic;
11+
using System.Threading.Tasks;
12+
13+
namespace Microsoft.Azure.WebJobs.EventHubs
14+
{
15+
[SupportsRetry]
16+
internal class EventHubTriggerBindingWrapper : ITriggerBinding
17+
{
18+
private readonly ITriggerBinding _innerTriggerBinding;
19+
20+
public EventHubTriggerBindingWrapper(ITriggerBinding triggerBinding)
21+
{
22+
_innerTriggerBinding = triggerBinding;
23+
}
24+
25+
public Type TriggerValueType => _innerTriggerBinding.TriggerValueType;
26+
27+
public IReadOnlyDictionary<string, Type> BindingDataContract => _innerTriggerBinding.BindingDataContract;
28+
29+
public async Task<ITriggerData> BindAsync(object value, ValueBindingContext context)
30+
{
31+
return await _innerTriggerBinding.BindAsync(value, context).ConfigureAwait(false);
32+
}
33+
34+
public async Task<IListener> CreateListenerAsync(ListenerFactoryContext context)
35+
{
36+
return await _innerTriggerBinding.CreateListenerAsync(context).ConfigureAwait(false);
37+
}
38+
39+
public ParameterDescriptor ToParameterDescriptor()
40+
{
41+
return _innerTriggerBinding.ToParameterDescriptor();
42+
}
43+
}
44+
}

0 commit comments

Comments
 (0)