Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="Chinchilla Software Limited">
4 : // // Copyright Chinchilla Software Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System;
10 : using Cqrs.Authentication;
11 : using Cqrs.Configuration;
12 : using cdmdotnet.Logging;
13 : using Cqrs.Bus;
14 :
15 : namespace Cqrs.Azure.ServiceBus
16 : {
17 : /// <summary>
18 : /// A event bus based on <see cref="AzureServiceBus{TAuthenticationToken}"/>.
19 : /// </summary>
20 : /// <typeparam name="TAuthenticationToken">The <see cref="Type"/> of the authentication token.</typeparam>
21 : public abstract class AzureEventBus<TAuthenticationToken> : AzureServiceBus<TAuthenticationToken>
22 1 : {
23 : #region Overrides of AzureServiceBus<TAuthenticationToken>
24 :
25 : /// <summary>
26 : /// The configuration key for the message bus connection string as used by <see cref="IConfigurationManager"/>.
27 : /// </summary>
28 : protected override string MessageBusConnectionStringConfigurationKey
29 : {
30 : get { return "Cqrs.Azure.EventBus.ConnectionString"; }
31 : }
32 :
33 : /// <summary>
34 : /// The configuration key for the name of the private topic as used by <see cref="IConfigurationManager"/>.
35 : /// </summary>
36 : protected override string PrivateTopicNameConfigurationKey
37 : {
38 : get { return "Cqrs.Azure.EventBus.PrivateEvent.TopicName"; }
39 : }
40 :
41 : /// <summary>
42 : /// The configuration key for the name of the public topic as used by <see cref="IConfigurationManager"/>.
43 : /// </summary>
44 : protected override string PublicTopicNameConfigurationKey
45 : {
46 : get { return "Cqrs.Azure.EventBus.PublicEvent.TopicName"; }
47 : }
48 :
49 : /// <summary>
50 : /// The configuration key for the name of the subscription in the private topic as used by <see cref="IConfigurationManager"/>.
51 : /// </summary>
52 : protected override string PrivateTopicSubscriptionNameConfigurationKey
53 : {
54 : get { return "Cqrs.Azure.EventBus.PrivateEvent.TopicName.SubscriptionName"; }
55 : }
56 :
57 : /// <summary>
58 : /// The configuration key for the name of the subscription in the public topic as used by <see cref="IConfigurationManager"/>.
59 : /// </summary>
60 : protected override string PublicTopicSubscriptionNameConfigurationKey
61 : {
62 : get { return "Cqrs.Azure.EventBus.PublicEvent.TopicName.SubscriptionName"; }
63 : }
64 :
65 : /// <summary>
66 : /// The default name of the private topic if no <see cref="IConfigurationManager"/> value is set.
67 : /// </summary>
68 : protected override string DefaultPrivateTopicName
69 : {
70 : get { return "Cqrs.EventBus.Private"; }
71 : }
72 :
73 : /// <summary>
74 : /// The default name of the public topic if no <see cref="IConfigurationManager"/> value is set.
75 : /// </summary>
76 : protected override string DefaultPublicTopicName
77 : {
78 : get { return "Cqrs.EventBus"; }
79 : }
80 :
81 : /// <summary>
82 : /// The configuration key that
83 : /// specifies if an <see cref="Exception"/> is thrown if the network lock is lost
84 : /// as used by <see cref="IConfigurationManager"/>.
85 : /// </summary>
86 : protected override string ThrowExceptionOnReceiverMessageLockLostExceptionDuringCompleteConfigurationKey
87 : {
88 : get { return "Cqrs.Azure.EventBus.ThrowExceptionOnReceiverMessageLockLostExceptionDuringComplete"; }
89 : }
90 :
91 : #endregion
92 :
93 : /// <summary>
94 : /// Instantiate a new instance of <see cref="AzureEventBus{TAuthenticationToken}"/>.
95 : /// </summary>
96 1 : protected AzureEventBus(IConfigurationManager configurationManager, IMessageSerialiser<TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper<TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper<TAuthenticationToken> azureBusHelper, IBusHelper busHelper, bool isAPublisher)
97 : : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, azureBusHelper, busHelper, isAPublisher)
98 : {
99 : }
100 : }
101 : }
|