diff --git a/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarConfiguration.java b/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarConfiguration.java index f1187570bc4..5763b5d17ce 100644 --- a/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarConfiguration.java +++ b/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarConfiguration.java @@ -53,6 +53,7 @@ import org.springframework.pulsar.function.PulsarFunction; import org.springframework.pulsar.function.PulsarFunctionAdministration; import org.springframework.pulsar.function.PulsarSink; import org.springframework.pulsar.function.PulsarSource; +import org.springframework.util.Assert; /** * Common configuration used by both {@link PulsarAutoConfiguration} and @@ -146,10 +147,11 @@ class PulsarConfiguration { } } - @SuppressWarnings("NullAway") // Resolved.orElseThrow() doesn't return nullable private Schema getSchema(DefaultSchemaResolver schemaResolver, SchemaType schemaType, Class messageType, @Nullable Class messageKeyType) { - return schemaResolver.resolveSchema(schemaType, messageType, messageKeyType).orElseThrow(); + Schema schema = schemaResolver.resolveSchema(schemaType, messageType, messageKeyType).orElseThrow(); + Assert.state(schema != null, "'schema' must not be null"); + return schema; } @SuppressWarnings("unchecked")