Skip to content

Commit

Permalink
Merge branch 'release/1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
zambrovski committed Nov 22, 2022
2 parents d59f990 + 79698cc commit a395e53
Show file tree
Hide file tree
Showing 169 changed files with 12,424 additions and 650 deletions.
15 changes: 4 additions & 11 deletions .github/workflows/development.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,18 @@ jobs:
steps:
# Checkout the code
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Expose branch name
run: echo ${{ github.ref }}

# Setup the cache
- name: Cache .m2
uses: actions/cache@v1
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven
# Setup JDK and Maven
- name: Set up JDK 11
uses: actions/setup-java@v1
uses: actions/setup-java@v2
with:
distribution: zulu
java-version: 11
cache: maven
server-id: ossrh
server-username: OSS_CENTRAL_USERNAME # env variable for Maven Central
server-password: OSS_CENTRAL_PASSWORD # env variable for Maven Central
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v2
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
# This is for a tagged version
- name: Create a new version of documentation and push to GH pages.
if: startsWith(github.ref, 'refs/tags/')
run: mike deploy ${{ steps.get_tag_name.outputs.TAG_NAME }} stable --push --rebase
run: mike deploy ${{ steps.get_tag_name.outputs.TAG_NAME }} stable --push --rebase --update-aliases

- name: Make stable to default.
if: startsWith(github.ref, 'refs/tags/')
Expand All @@ -70,4 +70,4 @@ jobs:
# This is for develop
- name: Deploy latest develop snapshot docs to GH pages.
if: github.ref == 'refs/heads/develop'
run: mike deploy snapshot --push --rebase
run: mike deploy snapshot --push --rebase --update-aliases
15 changes: 4 additions & 11 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,7 @@ jobs:
name: Build and run tests on JDK ${{ matrix.java }}
steps:
- name: Checkout code
uses: actions/checkout@v2

# Restore the cache first
- name: Cache .m2
uses: actions/cache@v1
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven
uses: actions/checkout@v3

# Get GPG private key into GPG
- name: Import GPG Owner Trust
Expand All @@ -31,8 +22,10 @@ jobs:

# Setup JDK and .m2/settings.xml
- name: Set up JDK 11
uses: actions/setup-java@v1
uses: actions/setup-java@v2
with:
distribution: zulu
cache: maven
java-version: 11
server-id: ossrh
server-username: OSS_CENTRAL_USERNAME # env variable for Maven Central
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ you to solve integration problems around correlation of messages with processes.

## Main Features

* Ingres adapters for:
* Ingress adapters for:
* Spring Cloud Streams (e.g. Kafka Streams, Rabbit MQ, Azure Event Hubs, AWS SQS, AWS SNS, Solace PubSub+, Google PubSub)
* Axon Framework (Axon Event Bus)
* Inbox pattern on message receiving
* Message storage in the Camunda Platform 7 database
* MyBatis repository
Expand Down
8 changes: 6 additions & 2 deletions bom/bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.holunda</groupId>
<artifactId>camunda-bpm-correlate-parent</artifactId>
<version>0.0.2</version>
<version>1.0.0</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>

Expand Down Expand Up @@ -35,7 +35,11 @@
<artifactId>camunda-bpm-correlate-axon-framework</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.holunda</groupId>
<artifactId>camunda-bpm-correlate-cockpit-plugin</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

Expand Down
19 changes: 5 additions & 14 deletions bom/parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.holunda</groupId>
<artifactId>camunda-bpm-correlate-root</artifactId>
<version>0.0.2</version>
<version>1.0.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand All @@ -14,9 +14,8 @@
<name>POM / Parent</name>

<properties>
<junit.version>5.8.2</junit.version>
<camunda-7.version>7.17.0</camunda-7.version>
<camunda-bpm-data.version>1.2.6</camunda-bpm-data.version>
<camunda-7.version>7.18.0</camunda-7.version>
<camunda-bpm-data.version>1.2.7</camunda-bpm-data.version>
<shedlock.version>4.38.0</shedlock.version>
</properties>

Expand All @@ -34,13 +33,6 @@
<artifactId>camunda-bpm-data</artifactId>
<version>${camunda-bpm-data.version}</version>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-spring</artifactId>
Expand All @@ -66,10 +58,10 @@
<dependency>
<groupId>io.github.microutils</groupId>
<artifactId>kotlin-logging-jvm</artifactId>
<version>2.1.21</version>
<version>3.0.4</version>
</dependency>

<!-- Test dependend cies -->
<!-- Test dependencies -->
<dependency>
<groupId>org.mockito.kotlin</groupId>
<artifactId>mockito-kotlin</artifactId>
Expand All @@ -89,7 +81,6 @@
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.18.1</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion docs/assets/component-diagram.graphml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<y:Geometry height="99.0" width="250.0" x="57.0" y="-171.5"/>
<y:Fill color="#B7C9E360" color2="#B7C9E360" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="92.962890625" x="78.5185546875" xml:space="preserve" y="4.0">Ingres Adapter<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="-0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="92.962890625" x="78.5185546875" xml:space="preserve" y="4.0">Ingress Adapter<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="-0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
</y:GenericNode>
</data>
</node>
Expand Down
2 changes: 1 addition & 1 deletion docs/assets/components.plantuml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ skinparam component {

interface "Channel Message Acceptor" as CMA

package "Ingres Adapter" {
package "Ingress Adapter" {
[ Kafka ]
}

Expand Down
14 changes: 7 additions & 7 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
## Install Dependency

First install the extension using the corresponding ingres adapter (in this example we use Kafka):
First install the extension using the corresponding ingress adapter (in this example we use Kafka):

```xml

<properties>
<camunda-bpm-correlate.version>0.0.1</camunda-bpm-correlate.version>
<camunda-bpm-correlate.version>0.0.2</camunda-bpm-correlate.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -42,15 +42,15 @@ spring:
function:
definition: streamByteMessageConsumer
bindings:
streamByteMessageConsumer-in-0: correlate-ingres-binding
streamByteMessageConsumer-in-0: correlate-ingress-binding
bindings:
correlate-ingres-binding:
correlate-ingress-binding:
content-type: application/json
destination: ${KAFKA_TOPIC_CORRELATE_INGRES:correlate-ingres}
binder: correlate-ingres-binder
destination: ${KAFKA_TOPIC_CORRELATE_INGRES:correlate-ingress}
binder: correlate-ingress-binder
group: ${KAFKA_GROUP_ID}
binders:
correlate-ingres-binder:
correlate-ingress-binder:
type: kafka
defaultCandidate: false
inheritEnvironment: false
Expand Down
2 changes: 1 addition & 1 deletion docs/introduction/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Currently, the library supports the following features:

## General

* Ingres Adapters:
* Ingress Adapters:
* Spring Cloud Kafka
* Axon Framework
* MetaData extractors:
Expand Down
2 changes: 1 addition & 1 deletion docs/introduction/further-outlook.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

* Plugin for Camunda Cockpit
* More metrics for Prometheus
* More ingres adapters:
* More ingress adapters:
* Apache Camel
* REST implementing Camunda API

Expand Down
2 changes: 1 addition & 1 deletion docs/introduction/solution.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ The library provides a core that is responsible for accepting the message, stori
and processing it scheduled. If any errors occur during the correlation, these are handled by one of the
pre-configured error strategies, like retry, ignore or drop...

In addition, there are a set of several ingres adapters to support different communication technologies.
In addition, there are a set of several ingress adapters to support different communication technologies.
4 changes: 2 additions & 2 deletions docs/user-guide/filtering-messages.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
In messaging scenarios it is not uncommon that the message bus is transporting more types of message than the current system should consume.
In this case, it is important to filter out and ignore the irrelevant messages and take only the relevant messages into consideration. In the same time,
all messages still needs to be consumed in order not to block the follow-up messages. In order to filter the messages between the [Ingres Adapter](ingres.md)
all messages still needs to be consumed in order not to block the follow-up messages. In order to filter the messages between the [Ingress Adapter](ingress.md)
and the [Message Acceptor](message-acceptor.md) we supply a special `MessageFilter` to filter out the supported messaged.

```kotlin
Expand All @@ -22,7 +22,7 @@ Feel free to implement your own filters and supply them as a Spring Bean or choo

### AllMessageFilter

The `AllMessageFilter` accepts all messages received from the Ingres adapter.
The `AllMessageFilter` accepts all messages received from the Ingress adapter.

### AndCompositeMessageFilter

Expand Down
3 changes: 2 additions & 1 deletion docs/user-guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ The user guide consists of several sections.
## Concepts and Components

* [Architecture](architecture.md)
* [Ingres Adapter](ingres.md)
* [Ingress Adapter](ingress.md)
* [Message Acceptor](message-acceptor.md)
* [Message Persistence](message-persistence.md)
* [Scheduled Processing](scheduled-processing.md)
* [Metrics](metrics.md)

## Examples

Expand Down
6 changes: 0 additions & 6 deletions docs/user-guide/ingres-spring-cloud.md

This file was deleted.

8 changes: 0 additions & 8 deletions docs/user-guide/ingres.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
The Axon Framework Ingres Adapter is responsible for receiving events on Axon Event bus and sending them for the correlation to the library.
The Axon Framework Ingress Adapter is responsible for receiving events on Axon Event bus and sending them for the correlation to the library.

### Message

Axon Event Message is received and deserialized by Axon Framework, using the configured message de-serializer and passed to the ingres adapter.
Axon Event Message is received and deserialized by Axon Framework, using the configured message de-serializer and passed to the ingress adapter.
The adapter is reading headers from message `MetaData` and converts them into message headers. The payload is encoded into serializable payload using
the configured encoder (currently Jackson).
6 changes: 6 additions & 0 deletions docs/user-guide/ingress-spring-cloud.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
The Spring Cloud Ingress Adapter is a component responsible for receiving Spring Cloud messages (using configured binding like Kafka, AMQP or others) and
convert them into message format used by the library.

### Message

Kafka Message is received and the Kafka headers are converted to message headers.
8 changes: 8 additions & 0 deletions docs/user-guide/ingress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
The ingress adapter is a component responsible for the adaptation of the communication technology to the uniform message format used in the library.
It is responsible for creation the instance of a message including message headers and serialized message payload.

The following Ingress Adapter are available out of the box:

* [Axon Framework](ingress-axon.md)
* [Spring Cloud Stream](ingress-spring-cloud.md)

8 changes: 4 additions & 4 deletions docs/user-guide/message-acceptor.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
The message acceptor is a component responsible to receive the message from the Ingres adapter and store it into the database.
The message acceptor is a component responsible to receive the message from the Ingress adapter and store it into the database.

## Message Metadata
Along with the payload the message must contain metadata represented by the `MessageMetadata`. This metadata is extracted from the channel settings,
Expand All @@ -16,13 +16,13 @@ like message encoding are extracted that way.
### HeaderMessageMessageMetaDataSnippetExtractor

The `HeaderMessageMessageMetaDataSnippetExtractor` is responsible for reading metadata from message headers. Most communication technologies support some concept
of message headers and the corresponding [Ingres Adapter](./ingres-axon.md) is mapping those headers to message headers used in the library. By doing so,
you can influence message attributes on a message level. For example, if you are receiving different types of messages by the same ingres adapter, this is
of message headers and the corresponding [Ingress Adapter](./ingress-axon.md) is mapping those headers to message headers used in the library. By doing so,
you can influence message attributes on a message level. For example, if you are receiving different types of messages by the same ingress adapter, this is
the easiest way to detect the type of the message.

## Message filtering

Sometimes, more messages are sent through the channel as needed to be received by the Ingres Adapter and needs to be accepted and stored by the library.
Sometimes, more messages are sent through the channel as needed to be received by the Ingress Adapter and needs to be accepted and stored by the library.
For this purpose, a special filtering component `MessageFilter` is configured in the `MessageAcceptor`. For more details, how to use the filter please check the [Filtering messages](filtering-messages.md) section.

You can
Expand Down
19 changes: 19 additions & 0 deletions docs/user-guide/metrics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
In order to be able to monitor the library in operations, we expose different metrics using
standard Spring Boot approach and use Micrometer as the library. By doing so, we provide maximum
flexibility for the integration of the metrics in your monitoring system (like Prometheus or others).

The following metrics are provided:

| Component | Name | Type | Tags | Description |
|-------------|------------------------------------------------|---------|---------|---------------------------------------------------------------------------------------------------------------------------------|
| Ingress | camunda_bpm_correlate_ingress_received_total | counter | channel | Total number of messages received via given channel. |
| Ingress | camunda_bpm_correlate_ingress_accepted_total | counter | channel | Total number of messages accepted via channel. |
| Ingress | camunda_bpm_correlate_ingress_ignored_total | counter | channel | Total number of messages received but ignored via channel. |
| Acceptor | camunda_bpm_correlate_acceptor_persisted_total | counter | | Total number of messages persisted in the inbox. |
| Acceptor | camunda_bpm_correlate_acceptor_dropped_total | counter | | Total number of messages dropped instead of persisting in the inbox. |
| Inbox | camunda_bpm_correlate_inbox_message | gauge | status | Number of messages in the inbox by status. The statuses are: total, retrying, in_progress, error, maxRetriesReached and paused. |
| Correlation | camunda_bpm_correlate_correlation_success | counter | | Total number of messages successfully correlated. |
| Correlation | camunda_bpm_correlate_correlation_error | counter | | Total number of messages correlated with error. |



2 changes: 1 addition & 1 deletion example/axon/flight-axon/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.holunda</groupId>
<artifactId>camunda-bpm-correlate-example-parent</artifactId>
<version>0.0.2</version>
<version>1.0.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion example/axon/hotel-axon/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.holunda</groupId>
<artifactId>camunda-bpm-correlate-example-parent</artifactId>
<version>0.0.2</version>
<version>1.0.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
Loading

0 comments on commit a395e53

Please sign in to comment.