Spring Cloud Messaging using Kafka
“What is this Kafka I’ve been hearing about?”
In short, Kafka is a horizontally scalable streaming platform. In other words, Kafka is a message broker which can be run on multiple servers as a cluster. Different data streams are called topics. Producers can place messages on a topic whereas consumers can subscribe to topics. Topics can be configured for single- and multiple delivery of messages. Consumers can be grouped in so called consumer-groups, which makes it possible for multiple consumers to act as one when it comes to single-delivery.
Automatically generating your API from a swagger file using gradle
Normally when using swagger, you generate a swagger.yaml file for your API. But what if you already have a swagger.yaml file and you want to generate the API interface and models, like you would also do with a webservice using a WSDL file? To achieve this, swagger has a great tool: swagger-codegen. The tool has a CLI and a maven plugin, but no gradle plugin. So how do we use it with gradle?
Awesome Asciidoctor: Nested Tables
Defining tables in Asciidoctor is very easy. The start and end of the table are defined by |===
.
But if we want to add a new table to a table cell we cannot use the same syntax.
To define a nested table we must replace the |
separator with !
.
So instead of |===
to indicate the table boundaries we use !===
.
Also the cell separators are now !
instead of |
.
Finally we must make sure the table cell or column supports Asciidoc markup, so the table is properly created.
We must configure the cell or column with a
so the nested table is created.
In the following example Asciidoctor markup we have a simple table with a nested table in the second column and row. Notice we can still apply all table configuration to the nested table as well: