Skip to content

Commit

Permalink
Merge pull request #7131 from Particular/obsolete-databus
Browse files Browse the repository at this point in the history
Obsolete databus API
  • Loading branch information
WilliamBZA authored Aug 5, 2024
2 parents 6749a2a + d9caa9d commit 3a8c5ad
Show file tree
Hide file tree
Showing 16 changed files with 315 additions and 10 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ NServiceBus.Configuration.AdvancedExtensibility.AdvancedExtensibilityExtensions
NServiceBus.ConfigureAudit
NServiceBus.ConfigureCriticalErrorAction
NServiceBus.ConfigureError
NServiceBus.ConfigureFileShareDataBus
NServiceBus.ConfigureLicenseExtensions
NServiceBus.ConfigurePurging
NServiceBus.ConnectorContextExtensions
Expand All @@ -24,11 +23,6 @@ NServiceBus.ConversationIdStrategyContext
NServiceBus.ConversationRoutingExtensions
NServiceBus.CriticalError
NServiceBus.CriticalErrorContext
NServiceBus.DataBus.DataBusExtensions
NServiceBus.DataBus.DataBusExtensions`1
NServiceBus.DataBus.IDataBus
NServiceBus.DataBus.IDataBusSerializer
NServiceBus.DataBusProperty`1
NServiceBus.DateTimeOffsetHelper
NServiceBus.DefaultRecoverabilityPolicy
NServiceBus.DelayedDeliveryOptionExtensions
Expand All @@ -53,7 +47,6 @@ NServiceBus.Faults.FaultsHeaderKeys
NServiceBus.Faults.ImmediateRetryMessage
NServiceBus.Features.Audit
NServiceBus.Features.AutoSubscribe
NServiceBus.Features.DataBus
NServiceBus.Features.Feature
NServiceBus.Features.FeatureConfigurationContext
NServiceBus.Features.Outbox
Expand All @@ -70,7 +63,6 @@ NServiceBus.Hosting.Helpers.AssemblyScannerResults
NServiceBus.Hosting.Helpers.SkippedFile
NServiceBus.Hosting.HostInformation
NServiceBus.ICriticalErrorContext
NServiceBus.IDataBusProperty
NServiceBus.IDistributionPolicy
NServiceBus.IMessageConvention
NServiceBus.IMessageCreator
Expand Down Expand Up @@ -211,7 +203,6 @@ NServiceBus.StartupDiagnosticEntries
NServiceBus.StaticHeadersConfigExtensions
NServiceBus.SubscriptionMigrationModeSettings
NServiceBus.Support.RuntimeEnvironment
NServiceBus.SystemJsonDataBusSerializer
NServiceBus.TimeToBeReceivedAttribute
NServiceBus.TimeToBeReceivedConventionExtensions
NServiceBus.Transport.DispatchProperties
Expand Down Expand Up @@ -250,6 +241,5 @@ NServiceBus.Unicast.Subscriptions.MessageDrivenSubscriptions.ISubscriptionStorag
NServiceBus.Unicast.Subscriptions.MessageDrivenSubscriptions.Subscriber
NServiceBus.Unicast.Subscriptions.MessageType
NServiceBus.UnitOfWorkSettingsExtensions
NServiceBus.UseDataBusExtensions
NServiceBus.XmlSerializationExtensions
NServiceBus.XmlSerializer
4 changes: 4 additions & 0 deletions src/NServiceBus.Core/Conventions/Conventions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ public bool IsCommandType(Type t)
/// <summary>
/// Returns true if the given property should be send via the DataBus.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public bool IsDataBusProperty(PropertyInfo property)
{
ArgumentNullException.ThrowIfNull(property);
Expand Down
4 changes: 4 additions & 0 deletions src/NServiceBus.Core/Conventions/ConventionsBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ public ConventionsBuilder DefiningEventsAs(Func<Type, bool> definesEventType)
/// <summary>
/// Sets the function to be used to evaluate whether a property should be sent via the DataBus or not.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public ConventionsBuilder DefiningDataBusPropertiesAs(Func<PropertyInfo, bool> definesDataBusProperty)
{
ArgumentNullException.ThrowIfNull(definesDataBusProperty);
Expand Down
4 changes: 4 additions & 0 deletions src/NServiceBus.Core/DataBus/ConfigureFileShareDataBus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ public static class ConfigureFileShareDataBus
/// <param name="config">The configuration object.</param>
/// <param name="basePath">The location to which to write/read serialized properties for the databus.</param>
/// <returns>The configuration.</returns>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public static DataBusExtensions<FileShareDataBus> BasePath(this DataBusExtensions<FileShareDataBus> config, string basePath)
{
ArgumentNullException.ThrowIfNull(config);
Expand Down
4 changes: 4 additions & 0 deletions src/NServiceBus.Core/DataBus/DataBus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ namespace NServiceBus.Features;
/// <summary>
/// Used to configure the databus.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public class DataBus : Feature
{
internal DataBus()
Expand Down
8 changes: 8 additions & 0 deletions src/NServiceBus.Core/DataBus/DataBusDefinition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,18 @@
/// <summary>
/// Defines a databus that can be used by NServiceBus.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public abstract class DataBusDefinition
{
/// <summary>
/// The feature to enable when this databus is selected.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
protected internal abstract Type ProvidedByFeature();
}
24 changes: 24 additions & 0 deletions src/NServiceBus.Core/DataBus/DataBusExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,19 @@
/// This class provides implementers of databus with an extension mechanism for custom settings via extension methods.
/// </summary>
/// <typeparam name="T">The databus definition eg <see cref="FileShareDataBus" />.</typeparam>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public class DataBusExtensions<T> : DataBusExtensions where T : DataBusDefinition
{
/// <summary>
/// Default constructor.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public DataBusExtensions(SettingsHolder settings)
: base(settings)
{
Expand All @@ -24,11 +32,19 @@ public DataBusExtensions(SettingsHolder settings)
/// <summary>
/// This class provides implementers of databus with an extension mechanism for custom settings via extension methods.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public class DataBusExtensions : ExposeSettings
{
/// <summary>
/// Default constructor.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public DataBusExtensions(SettingsHolder settings)
: base(settings)
{
Expand All @@ -37,6 +53,10 @@ public DataBusExtensions(SettingsHolder settings)
/// <summary>
/// Configures additional deserializers to be considered when processing data bus properties. Can be called multiple times.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public DataBusExtensions AddDeserializer<TSerializer>() where TSerializer : IDataBusSerializer, new()
{
var serializer = (TSerializer)Activator.CreateInstance(typeof(TSerializer));
Expand All @@ -47,6 +67,10 @@ public DataBusExtensions(SettingsHolder settings)
/// <summary>
/// Configures additional deserializers to be considered when processing data bus properties. Can be called multiple times.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public DataBusExtensions AddDeserializer<TSerializer>(TSerializer serializer) where TSerializer : IDataBusSerializer
{
ArgumentNullException.ThrowIfNull(serializer);
Expand Down
36 changes: 36 additions & 0 deletions src/NServiceBus.Core/DataBus/DataBusProperty.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,46 +8,78 @@
/// Default implementation for <see cref="IDataBusProperty" />.
/// </summary>
/// <typeparam name="T">Type of data to store in <see cref="IDataBusProperty" />.</typeparam>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public class DataBusProperty<T> : IDataBusProperty where T : class
{
/// <summary>
/// Initializes a <see cref="DataBusProperty{T}" /> with no value set.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public DataBusProperty() { }

/// <summary>
/// Initializes a <see cref="DataBusProperty{T}" /> with the <paramref name="value" />.
/// </summary>
/// <param name="value">The value to initialize with.</param>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public DataBusProperty(T value) => SetValue(value);

/// <summary>
/// The value.
/// </summary>
[JsonIgnore]
[XmlIgnore]
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public T Value { get; private set; }

/// <summary>
/// The property <see cref="Type" />.
/// </summary>
[JsonIgnore]
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public Type Type { get; } = typeof(T);

/// <summary>
/// The <see cref="IDataBusProperty" /> key.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public string Key { get; set; }

/// <summary>
/// <code>true</code> if <see cref="IDataBusProperty" /> has a value.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public bool HasValue { get; set; }

/// <summary>
/// Sets the value for <see cref="IDataBusProperty" />.
/// </summary>
/// <param name="valueToSet">The value to set.</param>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public void SetValue(object valueToSet)
{
Value = valueToSet as T;
Expand All @@ -58,5 +90,9 @@ public void SetValue(object valueToSet)
/// Gets the value of the <see cref="IDataBusProperty" />.
/// </summary>
/// <returns>The value.</returns>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public object GetValue() => Value;
}
8 changes: 8 additions & 0 deletions src/NServiceBus.Core/DataBus/FileShareDataBus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,19 @@ namespace NServiceBus;
/// <summary>
/// Base class for data bus definitions.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public class FileShareDataBus : DataBusDefinition
{
/// <summary>
/// The feature to enable when this databus is selected.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
protected internal override Type ProvidedByFeature()
{
return typeof(DataBusFileBased);
Expand Down
16 changes: 16 additions & 0 deletions src/NServiceBus.Core/DataBus/IDataBus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ namespace NServiceBus.DataBus;
/// <summary>
/// The main interface for interactions with the databus.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public interface IDataBus
{
/// <summary>
Expand All @@ -16,6 +20,10 @@ public interface IDataBus
/// <param name="key">The key to look for.</param>
/// <param name="cancellationToken">A <see cref="CancellationToken"/> to observe.</param>
/// <returns>The data <see cref="Stream" />.</returns>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
Task<Stream> Get(string key, CancellationToken cancellationToken = default);

/// <summary>
Expand All @@ -24,10 +32,18 @@ public interface IDataBus
/// <param name="stream">A create containing the data to be sent on the databus.</param>
/// <param name="timeToBeReceived">The time to be received specified on the message type. TimeSpan.MaxValue is the default.</param>
/// <param name="cancellationToken">A <see cref="CancellationToken"/> to observe.</param>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
Task<string> Put(Stream stream, TimeSpan timeToBeReceived, CancellationToken cancellationToken = default);

/// <summary>
/// Called when the bus starts up to allow the data bus to active background tasks.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
Task Start(CancellationToken cancellationToken = default);
}
24 changes: 24 additions & 0 deletions src/NServiceBus.Core/DataBus/IDataBusProperty.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,54 @@
/// <summary>
/// The contract to implement a <see cref="IDataBusProperty" />.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
public interface IDataBusProperty
{
/// <summary>
/// The <see cref="IDataBusProperty" /> key.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
string Key { get; set; }

/// <summary>
/// <code>true</code> if <see cref="IDataBusProperty" /> has a value.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
bool HasValue { get; set; }

/// <summary>
/// Gets the value of the <see cref="IDataBusProperty" />.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
object GetValue();

/// <summary>
/// Sets the value for <see cref="IDataBusProperty" />.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
void SetValue(object value);

/// <summary>
/// The property <see cref="Type" />.
/// </summary>
[ObsoleteEx(
Message = "The DataBus feature has been released as a dedicated package, 'NServiceBus.ClaimCheck.DataBus'",
RemoveInVersion = "11",
TreatAsErrorFromVersion = "10")]
Type Type { get; }
}
Loading

0 comments on commit 3a8c5ad

Please sign in to comment.