JustSaying.Naming.EnvironmentServiceNaming
7.0.2
dotnet add package JustSaying.Naming.EnvironmentServiceNaming --version 7.0.2
NuGet\Install-Package JustSaying.Naming.EnvironmentServiceNaming -Version 7.0.2
<PackageReference Include="JustSaying.Naming.EnvironmentServiceNaming" Version="7.0.2" />
paket add JustSaying.Naming.EnvironmentServiceNaming --version 7.0.2
#r "nuget: JustSaying.Naming.EnvironmentServiceNaming, 7.0.2"
// Install JustSaying.Naming.EnvironmentServiceNaming as a Cake Addin #addin nuget:?package=JustSaying.Naming.EnvironmentServiceNaming&version=7.0.2 // Install JustSaying.Naming.EnvironmentServiceNaming as a Cake Tool #tool nuget:?package=JustSaying.Naming.EnvironmentServiceNaming&version=7.0.2
EnvironmentServiceNaming
This is a page for JustSaying v7 to add a naming convention based on environment & service name. It also has an extra method for defining point to point queues.
What it looks like
Environment and service name are converted to lower case and any non-alphanumeric characters are removed.
Topic queues:
{environment}-{service}-{messageType}
Topic name:
{environment}-{messageType}
Point to point queues:
{environment}-p2p-{messageType}
How to use
Set up default naming conventions
This will set up the default naming conventions for all queues and topics.
var environment = "test";
var serviceName = "my-service";
var namingStrategy = new EnvironmentNamingStrategy(environment, serviceName);
container.RegisterInstance<IQueueNamingConvention>(queueNamingConvention);
container.RegisterInstance<ITopicNamingConvention>(topicNamingConvention);
var builder = new MessagingBusBuilder()
// Other configuration here
.Messaging(
x =>
{
// Other configuration here
x.WithQueueNamingConvention(queueNamingConvention);
x.WithTopicNamingConvention(topicNamingConvention);
});
To use the point to point naming convention, the subscription / publisher needs to be setup during configuration:
builder.Subscriptions(
x =>
{
x.ForQueue<TestMessagePointToPoint>(
cfg =>
{
cfg.ConfigurePointToPointQueue(Environment);
});
}
);
builder.Publications(
x =>
{
x.WithQueue<TestMessagePointToPoint>(cfg => cfg.ConfigurePointToPointPublisher(Environment));
});
If individual p2p queues aren't configured as above, then it will default to:
{environment}-{service}-{messageType}
Additional Notes
There are helper extension methods for configuration which are used above:
ConfigurePointToPointPublisher
ConfigurePointToPointQueue
In a similar vein exists ConfigureTopic
which provides a similar interface for configuring subscriptions, but is not strictly needed for configuring naming conventions.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- JustSaying (>= 7.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.