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
Recently, I wanted to create an "intelligent" binary patcher, which not
only replaces some chunk of binary data at a file's predefined offset,
but instead performs search and replace. BinaryPatcher.java is the result.
The usage is pretty straight forward. Let's have a look at an basic
example:
Migrating an RDS DB instance to an Aurora DB cluster with CloudFormation
There are several guides describing how to migrate a plain RDS instance to an Aurora cluster using read replica.
But none of them describes how the new Aurora cluster can afterwards be maintained further with CloudFormation.
This guide describes a migration path I've used on production services.
A few manual steps and a short downtime - or at least read-only mode - are required, but the final cluster will then be part of an already existing CloudFormation stack.
High-Level Process
With or without CloudFormation, the high-level steps are the following
IntellJ IDEA contains a very good merge UI, ideal to resolve conflict during merge or rebase.
The functionality is accessible also from command line, without having a project with the conflicting sources.
Integration into the git commandline flow is quite easy, as git already has the concept of diff- and mergetools.
Resilience4j Event-Handler to start/stop RabbitMQ-Listeners
Resilient RabbitMQ-Listener with Spring
In case of high error rates during message processing, it might be beneficial to stop message-consumption for some time.
This does not only reduce the number of errors in the system, but also allows other consumers to process the message successfully.
Circuit-breakers are made for detecting high error rates and stop/restart the processing.
There is no prepared integration between RabbitMQ-Listeners and Circuit-Breakers, but the gap can be easiliy filled with a Resilience4j event-handler starting and stopping RabbitMQ-listener.
Jooq-Codegen with Flyway and Testcontainers in Gradle
Jooq-Codegen with Flyway and Testcontainers in Gradle
At the time of writing, the Gradle-Jooq-Plugin doesn’t offer a good way to use Testcontainers for generation.
The fundamental issue is, that the JDBC-URL - or more specifically the port - can’t be read from TestContainers unless it’s started.
Thus it can’t be used in the Plugin-configuration and setting it later is hardly possible.
So this example uses the plain Jooq-Generator classes.