Skip to content

Commit

Permalink
migrate to micronaut 4.0.0-SNAPSHOT
Browse files Browse the repository at this point in the history
  • Loading branch information
grimmjo committed Nov 15, 2022
1 parent 25128b3 commit 6c9883b
Show file tree
Hide file tree
Showing 21 changed files with 106 additions and 98 deletions.
8 changes: 7 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
plugins {
id 'io.micronaut.build.internal.docs'
id 'io.micronaut.build.internal.dependency-updates'
id 'io.micronaut.build.internal.quality-reporting'
}

allprojects {
repositories {
mavenCentral()
maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots/" }
}
}
5 changes: 5 additions & 0 deletions config/accepted-api-changes.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,10 @@
"type": "io.micronaut.nats.intercept.NatsConsumerAdvice",
"member": "Constructor io.micronaut.nats.intercept.NatsConsumerAdvice(io.micronaut.context.BeanContext,io.micronaut.nats.bind.NatsBinderRegistry,io.micronaut.nats.serdes.NatsMessageSerDesRegistry,io.micronaut.nats.exception.NatsListenerExceptionHandler)",
"reason": "Nothing changed here - this was just missing"
},
{
"type": "io.micronaut.nats.serdes.JsonNatsMessageSerDes",
"member": "Constructor io.micronaut.nats.serdes.JsonNatsMessageSerDes(com.fasterxml.jackson.databind.ObjectMapper)",
"reason": "Migration to Micronaut 4.0.0"
}
]
9 changes: 7 additions & 2 deletions docs-examples/example-groovy/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ repositories {
dependencies {
testImplementation projects.nats

testCompileOnly mn.micronaut.inject.groovy
testImplementation libs.testcontainers
testAnnotationProcessor mn.micronaut.inject.groovy
testImplementation libs.testcontainers.spock
testImplementation mn.micronaut.inject
testImplementation mn.reactor
testImplementation mn.spock
Expand All @@ -20,3 +20,8 @@ dependencies {
tasks.withType(GroovyCompile) {
groovyOptions.forkOptions.jvmArgs.add('-Dgroovy.parameters=true')
}

java {
sourceCompatibility = JavaVersion.toVersion("17")
targetCompatibility = JavaVersion.toVersion("17")
}
10 changes: 5 additions & 5 deletions docs-examples/example-java/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,11 @@ plugins {
id "java-library"
}

repositories {
mavenCentral()
}

dependencies {
testImplementation projects.nats

testAnnotationProcessor mn.micronaut.inject.java
testImplementation mn.micronaut.inject

testImplementation mn.reactor
testImplementation libs.awaitility
testImplementation libs.testcontainers
Expand All @@ -20,3 +16,7 @@ dependencies {
compileJava.options.compilerArgs += '-parameters'
compileTestJava.options.compilerArgs += '-parameters'

java {
sourceCompatibility = JavaVersion.toVersion("17")
targetCompatibility = JavaVersion.toVersion("17")
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
@Singleton // <1>
public class SIDAnnotationBinder implements NatsAnnotatedArgumentBinder<SID> { // <2>

private final ConversionService<?> conversionService;
private final ConversionService conversionService;

public SIDAnnotationBinder(ConversionService<?> conversionService) { // <3>
public SIDAnnotationBinder(ConversionService conversionService) { // <3>
this.conversionService = conversionService;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
@Singleton // <1>
public class ProductInfoTypeBinder implements NatsTypeArgumentBinder<ProductInfo> { //<2>

private final ConversionService<?> conversionService;
private final ConversionService conversionService;

ProductInfoTypeBinder(ConversionService<?> conversionService) { //<3>
ProductInfoTypeBinder(ConversionService conversionService) { //<3>
this.conversionService = conversionService;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
package io.micronaut.nats.docs.serdes;

import java.nio.charset.StandardCharsets;
import java.util.Optional;

import io.micronaut.context.annotation.Requires;
// tag::imports[]
import io.micronaut.core.convert.ConversionService;
import io.micronaut.core.type.Argument;
import io.micronaut.nats.serdes.NatsMessageSerDes;
import io.nats.client.Message;
import jakarta.inject.Singleton;

import java.nio.charset.StandardCharsets;
import java.util.Optional;
// end::imports[]

@Requires(property = "spec.name", value = "ProductInfoSerDesSpec")
// tag::clazz[]
@Singleton // <1>
public class ProductInfoSerDes implements NatsMessageSerDes<ProductInfo> { // <2>

private final ConversionService<?> conversionService;
private final ConversionService conversionService;

public ProductInfoSerDes(ConversionService<?> conversionService) { // <3>
public ProductInfoSerDes(ConversionService conversionService) { // <3>
this.conversionService = conversionService;
}

Expand Down
10 changes: 3 additions & 7 deletions docs-examples/example-kotlin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ plugins {
alias libs.plugins.kotlin.kapt
}

repositories {
mavenCentral()
}

dependencies {
kaptTest(mn.micronaut.inject.java)

Expand All @@ -20,12 +16,12 @@ dependencies {

compileTestKotlin {
kotlinOptions {
jvmTarget = '1.8'
jvmTarget = '17'
javaParameters = true
}
}

java {
sourceCompatibility = JavaVersion.toVersion("1.8")
targetCompatibility = JavaVersion.toVersion("1.8")
sourceCompatibility = JavaVersion.toVersion("17")
targetCompatibility = JavaVersion.toVersion("17")
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import jakarta.inject.Singleton
@Requires(property = "spec.name", value = "SIDSpec")
// tag::clazz[]
@Singleton // <1>
class SIDAnnotationBinder(private val conversionService: ConversionService<*>) // <3>
class SIDAnnotationBinder(private val conversionService: ConversionService) // <3>
: NatsAnnotatedArgumentBinder<SID> { // <2>

override fun getAnnotationType(): Class<SID> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import java.util.Optional
@Requires(property = "spec.name", value = "ProductInfoSpec")
// tag::clazz[]
@Singleton // <1>
class ProductInfoTypeBinder constructor(private val conversionService: ConversionService<*>) //<3>
class ProductInfoTypeBinder constructor(private val conversionService: ConversionService) //<3>
: NatsTypeArgumentBinder<ProductInfo> { // <2>

override fun argumentType(): Argument<ProductInfo> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import java.nio.charset.Charset
@Requires(property = "spec.name", value = "ProductInfoSerDesSpec")
// tag::clazz[]
@Singleton // <1>
class ProductInfoSerDes(private val conversionService: ConversionService<*>)// <3>
class ProductInfoSerDes(private val conversionService: ConversionService)// <3>
: NatsMessageSerDes<ProductInfo> { // <2>

override fun deserialize(message: Message, argument: Argument<ProductInfo>): ProductInfo? { // <4>
Expand Down
10 changes: 3 additions & 7 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
projectVersion=3.1.1-SNAPSHOT
projectVersion=4.0.0-SNAPSHOT
projectGroup=io.micronaut.nats
micronautDocsVersion=2.0.0
micronautVersion=3.5.2
micronautTestVersion=3.2.0
groovyVersion=3.0.10
spockVersion=2.1-groovy-3.0

title=Micronaut Nats
projectDesc=Integration between Micronaut and nats.io
projectUrl=http://micronaut.io
githubSlug=micronaut-projects/micronaut-nats
developers=Joachim Grimm
# Micronaut core branch for BOM pull requests
githubCoreBranch=3.5.x
githubCoreBranch=4.0.x
bomProperty=micronautNatsIoVersion
apimicronaut=https://docs.micronaut.io/latest/api/io/micronaut/
apinats=https://javadoc.io/doc/io.nats/jnats/
Expand Down
11 changes: 9 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
[versions]
micronaut = '4.0.0-SNAPSHOT'
micronaut-docs = '2.0.0'
micronaut-test = '3.7.0'
groovy = "4.0.6"
spock = "2.3-groovy-4.0"


awaitility = '4.2.0'
junit = '5.9.1'
kotest = '4.6.4'
kotlin = '1.7.20'
kotlin = '1.7.21'
testcontainers = '1.17.5'
nats = '2.16.0'


[libraries]
jnats = { module = 'io.nats:jnats', version.ref = 'nats'}
awaitility = { module = 'org.awaitility:awaitility', version.ref = 'awaitility' }
Expand All @@ -15,7 +23,6 @@ kotlin-reflect = { module = 'org.jetbrains.kotlin:kotlin-reflect', version.ref =
kotlin-stdlib = { module = 'org.jetbrains.kotlin:kotlin-stdlib-jdk8', version.ref = 'kotlin' }
testcontainers = { module = 'org.testcontainers:testcontainers', version.ref = 'testcontainers' }
testcontainers-spock = { module = 'org.testcontainers:spock', version.ref = 'testcontainers' }
micronaut-micrometer-core = { module = 'io.micronaut.micrometer:micronaut-micrometer-core', version = '' }

[plugins]
kotlin-jvm = { id = 'org.jetbrains.kotlin.jvm', version.ref = 'kotlin' }
Expand Down
10 changes: 5 additions & 5 deletions nats/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ plugins {
}

dependencies {
annotationProcessor mn.micronaut.inject.java

api mn.micronaut.messaging
api mn.micronaut.inject
api libs.jnats

implementation mn.reactor
implementation mn.micronaut.serde.jackson
implementation mn.micronaut.jackson.core
implementation mn.micronaut.reactor
implementation mn.micronaut.cache.caffeine

compileOnly mn.micronaut.management
compileOnly libs.micronaut.micrometer.core
compileOnly mn.micronaut.micrometer.core

testImplementation libs.testcontainers.spock
testImplementation mn.micronaut.inject.groovy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@
*/
package io.micronaut.nats.bind;

import java.util.Optional;

import io.micronaut.core.convert.ArgumentConversionContext;
import io.micronaut.core.convert.ConversionService;
import io.micronaut.messaging.annotation.MessageHeader;
import io.nats.client.Message;
import io.nats.client.impl.Headers;
import jakarta.inject.Singleton;

import java.util.Optional;

/**
* Binds an argument of with the {@link MessageHeader} annotation from the {@link Message}.
*
Expand All @@ -33,13 +33,13 @@
@Singleton
public class NatsHeaderBinder implements NatsAnnotatedArgumentBinder<MessageHeader> {

private final ConversionService<?> conversionService;
private final ConversionService conversionService;

/**
* Default constructor.
* @param conversionService The conversation service
*/
public NatsHeaderBinder(ConversionService<?> conversionService) {
public NatsHeaderBinder(ConversionService conversionService) {
this.conversionService = conversionService;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@
*/
package io.micronaut.nats.bind;

import io.micronaut.core.convert.ArgumentConversionContext;
import io.micronaut.core.convert.ConversionError;
import io.micronaut.core.convert.ConversionService;
import io.micronaut.core.convert.value.ConvertibleValues;
import io.nats.client.impl.Headers;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
Expand All @@ -23,12 +29,6 @@
import java.util.Set;
import java.util.stream.Collectors;

import io.micronaut.core.convert.ArgumentConversionContext;
import io.micronaut.core.convert.ConversionError;
import io.micronaut.core.convert.ConversionService;
import io.micronaut.core.convert.value.ConvertibleValues;
import io.nats.client.impl.Headers;

/**
* Converts Nats header values to the requested type.
*
Expand All @@ -39,15 +39,15 @@
public class NatsHeaderConvertibleValues implements ConvertibleValues<Object> {

private final Headers headers;
private final ConversionService<?> conversionService;
private final ConversionService conversionService;
private final List<ConversionError> conversionErrors = new ArrayList<>();

/**
* Default constructor.
* @param headers The Nats headers
* @param conversionService The conversion service
*/
public NatsHeaderConvertibleValues(Headers headers, ConversionService<?> conversionService) {
public NatsHeaderConvertibleValues(Headers headers, ConversionService conversionService) {
this.headers = headers == null ? new Headers() : headers;
this.conversionService = conversionService;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,6 @@
*/
package io.micronaut.nats.intercept;

import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;

import javax.annotation.PreDestroy;

import io.micronaut.context.BeanContext;
import io.micronaut.context.processor.ExecutableMethodProcessor;
import io.micronaut.core.annotation.AnnotationValue;
Expand Down Expand Up @@ -57,8 +46,18 @@
import io.nats.client.Message;
import io.nats.client.MessageHandler;
import io.nats.client.Subscription;
import jakarta.annotation.PreDestroy;
import jakarta.inject.Singleton;

import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;

/**
* An {@link ExecutableMethodProcessor} that will process all beans annotated with
* {@link NatsListener}.
Expand Down Expand Up @@ -208,9 +207,8 @@ public void close() {
}

private void handleException(NatsListenerException exception) {
Object bean = exception.getListener();
if (bean instanceof NatsListenerExceptionHandler) {
((NatsListenerExceptionHandler) bean).handle(exception);
if (exception.getListener() instanceof NatsListenerExceptionHandler bean) {
bean.handle(exception);
} else {
exceptionHandler.handle(exception);
}
Expand Down
Loading

0 comments on commit 6c9883b

Please sign in to comment.