You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: nservicebus/hosting/assembly-scanning.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Assembly scanning
3
-
summary: To enable automatic detection of various features NServiceBus scans assemblies for wellknown types
4
-
reviewed: 2022-02-15
3
+
summary: To enable the automatic detection of various features, NServiceBus scans assemblies for well-known types
4
+
reviewed: 2024-10-24
5
5
component: core
6
6
redirects:
7
7
- nservicebus/assembly-scanning
@@ -11,28 +11,28 @@ NServiceBus scans assemblies at endpoint startup to automatically detect and loa
11
11
12
12
There are some cases where finer control over which assemblies are loaded is required:
13
13
14
-
* To limit the number of assemblies being scanned and hence provide improvements to startup time.
15
-
* If hosting multiple endpoints out of the same directory each endpoint may require a subset of assemblies to be loaded.
14
+
* To limit the number of assemblies being scanned and hence improve startup time.
15
+
* If hosting multiple endpoints out of the same directory, each endpoint may require loading a subset of assemblies.
16
16
17
17
> [!NOTE]
18
18
> NServiceBus extensions such as `NServiceBus.RavenDB.dll` are not considered a core assembly but still must be included when customizing the assembly scanning.
19
19
20
20
## AppDomain assemblies
21
21
22
-
By default, the assemblies that are already loaded into the AppDomain are scanned. The endpoint can also be configured to disable AppDomain assembly scanning:
22
+
By default, the assemblies already loaded into the AppDomain are scanned. The endpoint can also be configured to disable AppDomain assembly scanning:
23
23
24
24
snippet: ScanningApDomainAssemblies
25
25
26
26
## Assembly files
27
27
28
-
By default all assemblies in the endpoint's `bin` directory are scanned in search of related interfaces so that the endpoint can configure them automatically.
28
+
By default, all assemblies in the endpoint's `bin` directory are scanned for related interfaces so that the endpoint can configure them automatically.
29
29
30
30
### Additional assembly scanning path
31
31
32
32
> [!NOTE]
33
33
> This configuration option is available only in NServiceBus version 7.4 and above.
34
34
35
-
Assembly scanning can be configured to scan an additional path for assemblies located outside of the default scanning path.
35
+
Assembly scanning can be configured to scan an additional path for assemblies outside the default scanning path.
36
36
37
37
snippet: AdditionalAssemblyScanningPath
38
38
@@ -53,7 +53,7 @@ snippet: disable-file-scanning
53
53
54
54
## Assemblies to scan
55
55
56
-
The assemblies being scanned can be further controlled via user-defined exclusions. This supports common scenarios removing specific assemblies from scanning without the risk of accidentally excluding required assemblies.
56
+
The assemblies being scanned can further be controlled via user-defined exclusions. This supports common scenarios removing specific assemblies from scanning without the risk of accidentally excluding required assemblies.
57
57
58
58
### Exclude specific assemblies by name
59
59
@@ -74,9 +74,9 @@ snippet: ScanningExcludeTypes
74
74
> [!NOTE]
75
75
> This configuration option is only available in NServiceBus 6.2 and above.
76
76
77
-
By default, exceptions occurred during assembly scanning will be re-thrown. Those exceptions can be ignored using the following:
77
+
By default, exceptions that occurred during assembly scanning will be re-thrown. Those exceptions can be ignored using the following:
78
78
79
79
snippet: SwallowScanningExceptions
80
80
81
81
> [!WARNING]
82
-
> Ignoring assembly scanning exceptions can cause the endpoint to not load some features, behaviors, messages or message handlers and cause incorrect behavior.
82
+
> Ignoring assembly scanning exceptions can cause the endpoint not to load some features, behaviors, messages or message handlers and cause incorrect behavior.
Copy file name to clipboardExpand all lines: nservicebus/recoverability/subscribing-to-error-notifications.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Error notifications
3
3
summary: Subscribing to error notifications
4
-
reviewed: 2022-02-09
4
+
reviewed: 2024-10-24
5
5
component: Core
6
6
versions: '[5.0,)'
7
7
redirects:
@@ -16,9 +16,9 @@ Error notifications are available for several events:
16
16
17
17
* When an [immediate retry](/nservicebus/recoverability/#immediate-retries) occurs.
18
18
* When a [delayed retry](/nservicebus/recoverability/#delayed-retries) occurs.
19
-
* When a message fails all retries and is forwarded to the error queue.
19
+
* When a message fails, all retries fail, and the message is forwarded to the error queue.
20
20
21
-
The following example shows how to be notified every time a message is handled by [recoverability](/nservicebus/recoverability/). While this code writes to the console any other action could be taken, for example sending an email or writing to a monitoring system.
21
+
The following example shows how to be notified every time a message is handled by [recoverability](/nservicebus/recoverability/). While this code writes to the console, any other action could be taken, for example, sending an email or writing to a monitoring system.
Copy file name to clipboardExpand all lines: servicecontrol/import-failed-messages.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Re-processing messages that failed to be imported
3
3
summary: How to attempt to re-process messages that failed to be imported
4
-
reviewed: 2022-01-26
4
+
reviewed: 2024-10-24
5
5
redirects:
6
6
- servicecontrol/import-failed-audit-messages
7
7
- servicecontrol/import-failed-audits
@@ -15,7 +15,7 @@ Messages can fail to be imported into the ServiceControl database for the follow
15
15
*[Forwarding](/servicecontrol/errorlog-auditlog-behavior.md) is enabled, and the destination queue does not exist, or ServiceControl cannot send messages to it. This could happen when the message or size limit has been reached or storage resources are exhausted.
16
16
17
17
> [!NOTE]
18
-
> Messages that have corrupt (i.e. unreadable, not deserializable) header data will not be processed at all and will move to ServiceControl's 'error' queue.
18
+
> Messages with corrupt (i.e. unreadable, not deserializable) header data will not be processed and will move to ServiceControl's 'error' queue.
19
19
20
20
Messages that fail to be imported are stored in the ServiceControl database in the `FailedAuditImports` and `FailedErrorImports` collections.
21
21
@@ -30,7 +30,7 @@ When a failed import is detected in the ServiceControl database, the [**Message
30
30
To reimport the failed messages, the instance must be shut down and started from a command line using one of the following commands:
31
31
32
32
> [!NOTE]
33
-
> The value to use for `--serviceName` is the instance name. It is available in the Windows Service information as well as the ServiceControl Management Utility.
33
+
> The value to use for `--serviceName` is the instance name. It is available in the Windows Service information and ServiceControl Management Utility.
While in import mode, ServiceControl or ServiceControl Audit will not process its input queues. Once the message is re-processed successfully, it is available in ServicePulse and ServiceInsight. ServiceControl or ServiceControl Audit instance can then be started again.
50
50
51
-
The custom check will no longer be displayed if all failed imports have been successfully reimported
51
+
The custom check will no longer be displayed if all failed imports have been successfully reimported.
52
52
53
53
## Modify message data
54
54
55
-
If the message still fails to import it usually means that the message is malformed, and ServiceControl won't be able to ingest it. It may be possible to correct the message data manually to allow ServiceControl to import the message. To review the malformed messages, start ServiceControl in [maintenance mode](/servicecontrol/ravendb/accessing-database.md#windows-deployment-maintenance-mode) and inspect the `FailedAuditImports` or `FailedErrorImports` collection. Review the import failure logs to determine why the import continues to fail. If modifying the audit message, data can resolve the issue, make the necessary changes to the message document to allow ServiceControl to import the message.
55
+
If the message still fails to import, it usually means that the message is malformed, and ServiceControl won't be able to ingest it. It may be possible to correct the message data manually to allow ServiceControl to import the message. To review the malformed messages, start ServiceControl in [maintenance mode](/servicecontrol/ravendb/accessing-database.md#windows-deployment-maintenance-mode) and inspect the `FailedAuditImports` or `FailedErrorImports` collection. Review the import failure logs to determine why the import continues to fail. If modifying the audit message data can resolve the issue, make the necessary changes to the message document to allow ServiceControl to import the message.
56
56
57
57
Once the data has been modified, the message can be reimported by running ServiceControl from the command line with the `--import-failed-errors` or ServiceControl Audit with the `--import-failed-audits` option again.
Copy file name to clipboardExpand all lines: transports/sql/design.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: SQL Transport Design
3
3
summary: The design and implementation details of SQL Server Transport
4
-
reviewed: 2022-02-09
4
+
reviewed: 2024-10-24
5
5
component: SqlTransport
6
6
redirects:
7
7
- nservicebus/sqlserver/design
@@ -15,7 +15,7 @@ In SQL Server Transport each queue is represented as table inside a database. De
15
15
16
16
## Structure
17
17
18
-
The queue table consists of the following columns
18
+
The queue table consists of the following columns.
19
19
20
20
### ID
21
21
@@ -29,7 +29,7 @@ The `CorrelationId` column contains the value of `NServiceBus.CorrelationId` hea
29
29
30
30
### ReplyToAddress
31
31
32
-
The `ReplyToAddress` column contains the value of `NServiceBus.ReplyToAddress` header. This value is kept in a separate column to he maintain wire-level compatibility with [NServiceBus.SqlServer](https://www.nuget.org/packages/NServiceBus.SqlServer) transport Version 1.
32
+
The `ReplyToAddress` column contains the value of the `NServiceBus.ReplyToAddress` header. This value is kept in a separate column to maintain wire-level compatibility with [NServiceBus.SqlServer](https://www.nuget.org/packages/NServiceBus.SqlServer) transport Version 1.
33
33
34
34
35
35
### Recoverable
@@ -43,12 +43,12 @@ The `CorrelationId`, `ReplyToAddress` and `Recoverable` columns are required for
43
43
44
44
When receiving messages sent by endpoints that use later versions, the values of correlation ID and reply-to address should be read from the headers (`NServiceBus.CorrelationId` and `NServiceBus.ReplyToAddress`) instead. The value `Recoverable` can be ignored as it is always `true`/`1`.
45
45
46
-
When sending messages to endpoints that use later versions, the values of correlation ID and reply-to address columns could be set to `NULL`and the actual values are provided in the headers (`NServiceBus.CorrelationId` and `NServiceBus.ReplyToAddress`). The value `Recoverable` should always be `true`/`1`.
46
+
When sending messages to endpoints that use later versions, the values of correlation ID and reply-to address columns could be set to `NULL`with the actual values provided in the headers (`NServiceBus.CorrelationId` and `NServiceBus.ReplyToAddress`). The value `Recoverable` should always be `true`/`1`.
47
47
48
48
49
49
### Expires
50
50
51
-
The `Expires` column contains the optional date and time when the message is going to expire. An expired message is dropped by the transport. Depending on version, expired messages might be actively purged from the queue. For details see [discarding expired messages](/transports/sql/discard-expired-messages.md).
51
+
The `Expires` column contains the optional date and time when the message will expire. An expired message is dropped by the transport. Depending on version, expired messages might be actively purged from the queue. For details see [discarding expired messages](/transports/sql/discard-expired-messages.md).
The `RowVersion` column is used to define the FIFO order of the queue. It is auto-incremented by SQL Server (`identity(1,1)`). The receive message T-SQL query returns a message with the lowest value of `RowVersion` that is not locked by any other concurrent receive operation.
71
71
72
-
The clustered index of the queue table is based on the `RowVersion` column to ensure the new messages are always added at the end of the table.
72
+
The clustered index of the queue table is based on the `RowVersion` column to ensure that new messages are always added at the end of the table.
73
73
74
74
75
75
## Behavior
@@ -87,4 +87,4 @@ Messages are sent by executing an `insert` command against the queue table.
87
87
Messages are received by executing a `delete` command against the queue table. The `delete` is limited to a row with the lowest `RowVersion` not locked by other concurrent `delete`. This ensures that multiple threads within an endpoint instance and multiple instances of the same scaled-out endpoint can operate at full speed without conflicts.
0 commit comments