Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-tenancy extension documentation #290

Open
wants to merge 53 commits into
base: 4.6
Choose a base branch
from
Open

Conversation

schananas
Copy link
Contributor

With adjusted PR comments from previous PR

trimoq and others added 30 commits August 25, 2022 15:22
Added description of command line arguments valid for all commands
Co-authored-by: Steven van Beelen <[email protected]>
Adjust DLQ intro section by:
 * adding a small introduction,
 * replacing event processor mentions for processing group,
 * add details on maintaining a dead letter sequence

#281
Adjust DLQ configuration section by:
 * adjusting the indentation,
 * slightly adjusting the samples,
 * replacing mentions of event processor with processing group

#281
Adjust DLQ processing section by:
 * expanding the intro section by explaining the
 SequencedDeadLetterProcessor and its methods,
 * adjust the sample titles
 * adjusting the indentation,
 * replacing repair for retry in the samples as there is no guarantee
 the letter is not enqueued again,
 * replacing mentions of event processor with processing group

#281
Adjust DLQ attributes section by:
 * fix the section title,
 * use code sections,
 * remove markTouched, withCause and withDiagnostics,
 * change message type to EventMessage
 * change cause type to Optional<Cause>,
 * explain why the cause may be empty,
 * explain that diagnostics are filled through an EnqueuePolicy

#281
Adjust DLQ policy section by:
 * introduce desire to not enqueue at all times,
 * introduce EnqueuePolicy and EnqueueDecision,
 * explain when the policy kicks in,
 * explain scenario when to configure a custom policy,
 * separate the policy creation and configuration into two sample
 sections
 * use several Decisions operations to showcase it.

#281
smcvb and others added 19 commits September 13, 2022 18:44
Process review comments by adjusting and further fine-tuning description
 of:
 - the importance of sequencing dead letter,
 - where to find the SequencedDeadLetterProcessor,
 - the description of the message attribute,
 - the enqueue decision intro description,
 - a better example on diagnostics usage.

#281
Co-authored-by: Steven van Beelen <[email protected]>
Copy link
Collaborator

@smcvb smcvb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before I dive into the text again, I'd like you to check why there are changes in your PR that should've been part of 4.6. already. Or, at least, that the commit log is cleaned.

@@ -254,6 +254,43 @@ axonserver-cli.jar <Command> <command options> -S <server-to-send-command-to> -

The option -S with the url to the Axon Server is optional, if it is omitted it defaults to [http://localhost:8024](http://localhost:8024/).‌ While for Axon Server SE, the URL for the Axon Server SE will be the single running node, for Axon Server EE, the URL should be pointing to any node serving the _\_admin_ context within an Axon Server EE cluster.

The `<command options>` valid for all commands, are: `-S`, `-s`, `-i`, `-o`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't expect this change in your pull request to be honest 🤔

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Granted, the commit log as shown by GitHub strikes me as odd too.

@@ -60,7 +60,7 @@ public class KafkaEventPublicationConfiguration {
}
```

The second infrastructure component to introduce is the `KafkaPublisher`, which has a hard requirement on the `ProducerFactory`. Additionally, this would be the place to define the Kafka topic upon which Axon event messages will be published. Note that the `KafkaPublisher` needs to be `shutDown` properly, to ensure all `Producer` instances are properly closed.
The second infrastructure component to introduce is the `KafkaPublisher`, which has a hard requirement on the `ProducerFactory`. Additionally, this would be the place to define the Kafka topics upon which Axon event messages will be published. You can set a function from event to `Optional<String>`. You can use this to only publish certain events, or put different events to different topics. Its not uncommon for Kafka topics to only contain one type of message. Note that the `KafkaPublisher` needs to be `shutDown` properly, to ensure all `Producer` instances are properly closed.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't expect these changes in your pull request either 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants