Skip to content

Commit f3cedfb

Browse files
authored
Merge pull request #152 from avast/PreparingV9
Version 9 - reassembling the tractor
2 parents 077bfed + bb5788c commit f3cedfb

File tree

85 files changed

+4416
-2827
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+4416
-2827
lines changed

.github/workflows/ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ jobs:
77
strategy:
88
fail-fast: false
99
matrix:
10-
scala-version: [2.12.13, 2.13.5]
10+
scala-version: [ 2.12.13, 2.13.8 ]
1111
steps:
12-
- uses: actions/checkout@v2.4.0
12+
- uses: actions/checkout@v3.0.0
1313
with:
1414
fetch-depth: 100
1515
- name: Fetch tags

.github/workflows/release.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: ubuntu-latest
88
strategy:
99
matrix:
10-
scala-version: [2.12.13, 2.13.5]
10+
scala-version: [ 2.12.13, 2.13.8 ]
1111
steps:
1212
- uses: actions/[email protected]
1313
with:
@@ -24,4 +24,4 @@ jobs:
2424
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
2525
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
2626
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
27-
ORG_GRADLE_PROJECT_sonatypePassword : ${{ secrets.SONATYPE_PASSWORD }}
27+
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}

Migration-5-6.md

-33
This file was deleted.

Migration-6-6_1.md

-9
This file was deleted.

Migration-6_1-7.md

-15
This file was deleted.

Migration-8-9.md

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## Migration from 8.x.x to 9.0.x
2+
3+
In general, there are MANY changes under the hood, however, only a few changes in the API. The most relevant changes are:
4+
5+
1. `extras-cactus` module was removed.
6+
2. `StreamedDelivery` has now only new `handleWith` method, forcing the user to correct behavior and enabling much more effective tasks
7+
processing and canceling.
8+
3. The client now explicitly supports CorrelationId handling.
9+
Producer has `implicit cidStrategy: CorrelationIdStrategy` parameter (with `CorrelationIdStrategy.FromPropertiesOrRandomNew` as a
10+
default) which enables you to configure how the CorrelationId should be derived/generated. You can implement your own _strategy_ to suit
11+
your needs.
12+
You can also easily get the CorrelationId from message properties on the consumer side. The CID (on consumer side) is taken from both
13+
AMQP properties and `X-Correlation-Id` header (where the property has precedence and the header is just a fallback). It's propagated to
14+
logs in logging context (not in message directly).
15+
4. [`PoisonedMessageHandler`](README.md#poisoned-message-handler) is now a part of the core. It's not wrapping your _action_ anymore,
16+
however, there exists only a few options, describable in configuration.
17+
5. `DeliveryResult.Republish` now has `countAsPoisoned` parameter (defaults to `true`) determining whether the PMH (if configured) should
18+
count the attempt or not.
19+
6. Logging in general was somewhat _tuned_.
20+
7. The client uses Cats-Effect version of `Monitor` from [Metrics library](https://github.com/avast/metrics).
21+
22+
As there are only very minor changes in the API between 8 and 9 versions, version 8 won't be supported any more (unless necessary).
23+
24+
Some additional notes, mainly for library developers:
25+
26+
1. The library is still cross-compiled to Scala 2.12 and 2.13.
27+
2. All consumers are now free of boilerplate code - new `ConsumerBase` class is a dependency of all consumers.
28+
3. `DefaultRabbitMQClientFactory` was redesigned and it's a class now.
29+
4. "Live" tests were split to `BasicLiveTest`, `StreamingConsumerLiveTest` and `PoisonedMessageHandlerLiveTest`.
30+
31+
---
32+
33+
The client now (9.0.0) uses circe 0.14.1 (only [extras-circe module](extras-circe)), pureconfig 0.17.1 (
34+
only [pureconfig module](pureconfig)), still cats 2 and cats-effect 2.

0 commit comments

Comments
 (0)