Skip to content

Commit a7f4630

Browse files
authored
fix(notifier): discard notifier for eda variant #112
fix(notifier): discard notifier for eda variant
2 parents a829053 + 6282ed9 commit a7f4630

File tree

25 files changed

+226
-165
lines changed

25 files changed

+226
-165
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
env:
4545
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4646
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
47-
run: ./gradlew build test jacocoTestReport sonarqube --refresh-dependencies --no-daemon --continue -Denv.ci=true
47+
run: ./gradlew build test jacocoTestReport sonar --refresh-dependencies --no-daemon --continue -Denv.ci=true
4848
- name: Execute build test jacocoTestReport pull request
4949
if: endsWith(github.REF, '/merge') == true
5050
env:

acceptance/async-tests/async-tests.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ dependencies {
33
implementation 'org.springframework.boot:spring-boot-starter'
44
}
55

6-
test.onlyIf { false }
6+
test.onlyIf { false }

async/async-commons-api/async-commons-api.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ dependencies {
77
api project(':domain-events-api')
88
compileOnly 'io.projectreactor:reactor-core'
99
testImplementation 'io.projectreactor:reactor-test'
10-
implementation "io.cloudevents:cloudevents-json-jackson:${cloudEventsVersion}"
11-
}
10+
implementation 'io.cloudevents:cloudevents-json-jackson:4.0.1'
11+
}

async/async-commons/async-commons.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ dependencies {
88
api project(':domain-events-api')
99

1010
compileOnly 'io.projectreactor:reactor-core'
11-
api "io.projectreactor.rabbitmq:reactor-rabbitmq:${reactorRabbitVersion}"
11+
api 'io.projectreactor.rabbitmq:reactor-rabbitmq:1.5.6'
1212
api 'com.fasterxml.jackson.core:jackson-databind'
13-
implementation 'commons-io:commons-io:2.11.0'
13+
implementation 'commons-io:commons-io:2.16.1'
1414

1515
testImplementation 'io.projectreactor:reactor-test'
16-
}
16+
}

async/async-rabbit-starter-eda/async-commons-rabbit-starter-eda.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ dependencies {
1313

1414
testImplementation 'io.projectreactor:reactor-test'
1515
testImplementation 'org.springframework.boot:spring-boot-starter-actuator'
16-
}
16+
}

async/async-rabbit-starter-eda/src/main/java/org/reactivecommons/async/rabbit/config/ConnectionManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ public void forListener(BiConsumer<String, ReactiveMessageListener> consumer) {
3232
connections.forEach((key, conn) -> consumer.accept(key, conn.getListener()));
3333
}
3434

35-
public void setDiscardNotifier(String domain, DiscardNotifier discardNotifier) {
36-
getChecked(domain).setDiscardNotifier(discardNotifier);
35+
public void setDiscardNotifierForAll(DiscardNotifier discardNotifier) {
36+
connections.forEach((key, conn) -> conn.setDiscardNotifier(discardNotifier));
3737
}
3838

3939
public ConnectionManager addDomain(String domain, ReactiveMessageListener listener, ReactiveMessageSender sender,
Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package org.reactivecommons.async.rabbit.config;
22

33
import org.reactivecommons.api.domain.DomainEventBus;
4-
import org.reactivecommons.async.commons.DiscardNotifier;
54
import org.reactivecommons.async.commons.config.BrokerConfig;
6-
import org.reactivecommons.async.commons.converters.json.ObjectMapperSupplier;
7-
import org.reactivecommons.async.rabbit.RabbitDiscardNotifier;
85
import org.reactivecommons.async.rabbit.RabbitDomainEventBus;
96
import org.reactivecommons.async.rabbit.communications.ReactiveMessageSender;
107
import org.reactivecommons.async.rabbit.config.props.AsyncProps;
@@ -22,19 +19,13 @@ public class EventBusConfig {
2219

2320
@Bean // app connection
2421
public DomainEventBus domainEventBus(ConnectionManager manager, BrokerConfig config,
25-
AsyncPropsDomain asyncPropsDomain, ObjectMapperSupplier objectMapperSupplier) {
22+
AsyncPropsDomain asyncPropsDomain) {
2623
ReactiveMessageSender sender = manager.getSender(DEFAULT_DOMAIN);
2724
AsyncProps asyncProps = asyncPropsDomain.getProps(DEFAULT_DOMAIN);
2825
final String exchangeName = asyncProps.getBrokerConfigProps().getDomainEventsExchangeName();
2926
if (asyncProps.getCreateTopology()) {
3027
sender.getTopologyCreator().declare(exchange(exchangeName).durable(true).type("topic")).subscribe();
3128
}
32-
DomainEventBus domainEventBus = new RabbitDomainEventBus(sender, exchangeName, config);
33-
manager.setDiscardNotifier(DEFAULT_DOMAIN, createDiscardNotifier(domainEventBus, objectMapperSupplier));
34-
return domainEventBus;
35-
}
36-
37-
private DiscardNotifier createDiscardNotifier(DomainEventBus domainEventBus, ObjectMapperSupplier objectMapperSupplier) {
38-
return new RabbitDiscardNotifier(domainEventBus, objectMapperSupplier.get());
29+
return new RabbitDomainEventBus(sender, exchangeName, config);
3930
}
4031
}

async/async-rabbit-starter-eda/src/main/java/org/reactivecommons/async/rabbit/config/RabbitMqConfig.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77
import lombok.extern.java.Log;
88
import org.reactivecommons.api.domain.Command;
99
import org.reactivecommons.api.domain.DomainEvent;
10+
import org.reactivecommons.api.domain.DomainEventBus;
1011
import org.reactivecommons.async.api.AsyncQuery;
1112
import org.reactivecommons.async.api.DefaultCommandHandler;
1213
import org.reactivecommons.async.api.DefaultQueryHandler;
1314
import org.reactivecommons.async.api.DynamicRegistry;
1415
import org.reactivecommons.async.api.HandlerRegistry;
16+
import org.reactivecommons.async.commons.DiscardNotifier;
1517
import org.reactivecommons.async.commons.communications.Message;
1618
import org.reactivecommons.async.commons.config.BrokerConfig;
1719
import org.reactivecommons.async.commons.config.IBrokerConfigProps;
@@ -21,6 +23,8 @@
2123
import org.reactivecommons.async.commons.ext.CustomReporter;
2224
import org.reactivecommons.async.rabbit.DynamicRegistryImp;
2325
import org.reactivecommons.async.rabbit.HandlerResolver;
26+
import org.reactivecommons.async.rabbit.RabbitDiscardNotifier;
27+
import org.reactivecommons.async.rabbit.RabbitDomainEventBus;
2428
import org.reactivecommons.async.rabbit.communications.ReactiveMessageListener;
2529
import org.reactivecommons.async.rabbit.communications.ReactiveMessageSender;
2630
import org.reactivecommons.async.rabbit.communications.TopologyCreator;
@@ -67,14 +71,20 @@ public class RabbitMqConfig {
6771

6872

6973
@Bean
70-
public ConnectionManager buildConnectionManager(AsyncPropsDomain props, MessageConverter converter) {
74+
public ConnectionManager buildConnectionManager(AsyncPropsDomain props, MessageConverter converter,
75+
BrokerConfig brokerConfig, ObjectMapperSupplier objectMapperSupplier) {
7176
ConnectionManager connectionManager = new ConnectionManager();
7277
props.forEach((domain, properties) -> {
7378
ConnectionFactoryProvider provider = createConnectionFactoryProvider(properties.getConnectionProperties());
7479
ReactiveMessageSender sender = createMessageSender(provider, properties, converter);
7580
ReactiveMessageListener listener = createMessageListener(provider, properties);
7681
connectionManager.addDomain(domain, listener, sender, provider);
7782
});
83+
ReactiveMessageSender appDomainSender = connectionManager.getSender(DEFAULT_DOMAIN);
84+
DomainEventBus appDomainEventBus = new RabbitDomainEventBus(appDomainSender, props.getProps(DEFAULT_DOMAIN)
85+
.getBrokerConfigProps().getDomainEventsExchangeName(), brokerConfig);
86+
DiscardNotifier notifier = new RabbitDiscardNotifier(appDomainEventBus, objectMapperSupplier.get());
87+
connectionManager.setDiscardNotifierForAll(notifier);
7888
return connectionManager;
7989
}
8090

async/async-rabbit-starter/async-commons-rabbit-starter.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ dependencies {
1212

1313
testImplementation 'io.projectreactor:reactor-test'
1414
testImplementation 'org.springframework.boot:spring-boot-starter-actuator'
15-
}
15+
}

async/async-rabbit/async-rabbit.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ dependencies {
1414
api 'com.rabbitmq:amqp-client'
1515
api 'com.fasterxml.jackson.core:jackson-databind'
1616
testImplementation 'io.projectreactor:reactor-test'
17-
implementation "io.cloudevents:cloudevents-json-jackson:${cloudEventsVersion}"
18-
}
17+
implementation 'io.cloudevents:cloudevents-json-jackson:4.0.1'
18+
}

build.gradle

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@ buildscript {
66
}
77

88
dependencies {
9-
classpath("com.github.ben-manes:gradle-versions-plugin:$gradleVersionsVersion")
9+
classpath('com.github.ben-manes:gradle-versions-plugin:0.11.1')
1010
}
1111
}
1212

1313
plugins {
1414
id 'jacoco'
15-
id 'org.sonarqube' version '3.0'
16-
id 'org.springframework.boot' version "${springBootVersion}" apply false
15+
id 'org.sonarqube' version '5.1.0.4882'
16+
id 'org.springframework.boot' version '3.3.1' apply false
1717
id 'io.github.gradle-nexus.publish-plugin' version '2.0.0'
18+
id 'co.com.bancolombia.cleanArchitecture' version '3.17.13'
1819
}
1920

20-
sonarqube {
21+
sonar {
2122
properties {
2223
property 'sonar.projectKey', 'reactive-commons_reactive-commons-java'
2324
property 'sonar.coverage.exclusions', 'samples/**/*'
@@ -31,4 +32,4 @@ repositories {
3132
}
3233

3334
apply from: './main.gradle'
34-
apply plugin: 'com.github.ben-manes.versions'
35+
apply plugin: 'com.github.ben-manes.versions'

domain/domain-events/domain-events-api.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ ext {
44
}
55

66
dependencies {
7-
api "org.reactivestreams:reactive-streams:${reactiveStreamsVersion}"
8-
api "io.cloudevents:cloudevents-api:${cloudEventsVersion}"
9-
}
7+
api 'org.reactivestreams:reactive-streams:1.0.4'
8+
api 'io.cloudevents:cloudevents-api:4.0.1'
9+
}

gradle.properties

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
version=4.1.1
2-
springBootVersion=3.2.5
3-
reactorRabbitVersion=1.5.5
4-
cloudEventsVersion=3.0.0
5-
reactiveStreamsVersion=1.0.4
6-
gradleVersionsVersion=0.36.0
7-
toPublish=async-commons,async-commons-api,async-commons-rabbit-standalone,async-commons-rabbit-starter,async-commons-rabbit-starter-eda,domain-events-api,async-rabbit
2+
toPublish=async-commons,async-commons-api,async-commons-rabbit-standalone,async-commons-rabbit-starter,async-commons-rabbit-starter-eda,domain-events-api,async-rabbit
3+
onlyUpdater=true

gradle/wrapper/gradle-wrapper.jar

2.32 KB
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
4+
networkTimeout=10000
45
zipStoreBase=GRADLE_USER_HOME
56
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)