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: README.md
+65-10Lines changed: 65 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,7 @@
2
2
3
3
This showcase consists of 4 processes hosting MassTransit message producers and consumers that implement a simplified order processing logic from an e-commerce system.
4
4
5
-

6
-
5
+

7
6
8
7
## Launching the Showcase in Docker
9
8
@@ -13,11 +12,12 @@ To help getting started we have created a few docker compose files that orchestr
13
12
Run the docker command below from the `src` folder in a terminal.
14
13
15
14
```cmd
16
-
docker compose -f docker-compose-base.yml -f compose-rabbitmq.yml --env-file rabbit.env up -d
> When using Visual Studio, ensure you have the "Enable Multi-Project Launch profiles" setting on. Allow Visual Studio 2022 "multi-launch" so you can easily select the profile you want to run.
38
41
>
39
42
> It can be activated by accessing the Tools menu -> Manage preview features- Enable Multi-Project Launch profiles.
40
43
41
-
To start the required infrastructure run the following docker command below from the `src` folder in a terminal.
44
+
To start the required infrastructure for the showcase, run one of the docker command below from the `src` folder in a terminal.
After opening the solution (from Visual Studio or Rider), choose one of the run profiles that matches the transport configured previously:
@@ -56,6 +64,53 @@ After opening the solution (from Visual Studio or Rider), choose one of the run
56
64
57
65
Run the solution to start the demo.
58
66
67
+
</details>
68
+
59
69
## Opening the showcase UI
60
70
61
-
Navigate to http://localhost:61335/ to see the UI.
71
+
Navigate to http://localhost:61335/ to see the UI. Click `Run Scenario` to start the showcase scenario and generate some simulated message handling failures.
72
+
73
+
## Handling failures with the Particular Platform
74
+
75
+
### Inspecting failures
76
+
77
+
Navigate to [http://localhost:9090](http://localhost:9090) in a new tab, or click the `View in ServicePulse` button, to see the details on failures ingested by the platform.
Click on the "Failed Messages" button at the top of the page to see all failed messages ingested by the platform, grouped by the exception type and stack trace.
Drill into an existing group to see the list of individual processing failures. Clicking on any of the rows in the list shows detailed information of a given failed message in the headers and message body tabs.
88
+
89
+
A failed message can be scheduled for reprocessing by clicking the `Retry message` button.
90
+
91
+
> [!NOTE]
92
+
> It may take several seconds after retrying a message for it to appear again in the consumer's input queue
Go to the details page for one of the failed messages and click the `Edit & retry` button. The pop-up window shows the headers collection and the message body in two separate tabs.
99
+
100
+
Navigate to the `Message Body` tab and change some of the contents of the message, ensuring it's still valid JSON matching the message type, and click "Retry" to schedule the message for reprocessing.
101
+
102
+
> [!WARNING]
103
+
> Changing or deleting header values may change or cause issues with the subsequent re-processing. It is recommended that these values are not changed if you are unsure of their purpose.
104
+
105
+

106
+
107
+
### Viewing retries
108
+
109
+
Return to the showcase UI to see that the retries have now been successfully handled.
110
+
111
+
### Troubleshooting
112
+
113
+
Having issues?
114
+
115
+
- Check logs in docker. Ensure that there are no port clashes with existing containers or services on your machine.
116
+
- Ask any questions on [our forum](https://discuss.particular.net/tag/masstransit)
0 commit comments