The io.micronaut.email.EmailSender send function throws the following jakarta.validation.ConstraintViolationException:
jakarta.validation.ConstraintViolationException: send.email.to: Cannot validate java.util.Collection. No bean introspection present. Please add @Introspected to the class and ensure Micronaut annotation processing is enabled
__ __ _ _
| \/ (_) ___ _ __ ___ _ __ __ _ _ _| |_
| |\/| | |/ __| '__/ _ \| '_ \ / _` | | | | __|
| | | | | (__| | | (_) | | | | (_| | |_| | |_
|_| |_|_|\___|_| \___/|_| |_|\__,_|\__,_|\__|
Micronaut (v4.0.0-M2)
10:20:18.434 [main] ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: send.email.to: Cannot validate java.util.Collection. No bean introspection present. Please add @Introspected to the class and ensure Micronaut annotation processing is enabled
jakarta.validation.ConstraintViolationException: send.email.to: Cannot validate java.util.Collection. No bean introspection present. Please add @Introspected to the class and ensure Micronaut annotation processing is enabled
at io.micronaut.validation.ValidatingInterceptor.intercept(ValidatingInterceptor.java:119)
at io.micronaut.aop.chain.MethodInterceptorChain.proceed(MethodInterceptorChain.java:137)
at io.micronaut.email.javamail.sender.$JavaxEmailSender$Definition$Intercepted.send(Unknown Source)
at io.micronaut.email.javamail.sender.JavaxEmailSender.send(JavaxEmailSender.java:45)
at io.micronaut.email.DefaultEmailSender.send(DefaultEmailSender.java:55)
at io.micronaut.email.$DefaultEmailSender$Definition$Intercepted.$$access$$send(Unknown Source)
at io.micronaut.email.$DefaultEmailSender$Definition$Exec.dispatch(Unknown Source)
at io.micronaut.context.AbstractExecutableMethodsDefinition$DispatchedExecutableMethod.invoke(AbstractExecutableMethodsDefinition.java:442)
at io.micronaut.aop.chain.MethodInterceptorChain.proceed(MethodInterceptorChain.java:128)
at io.micronaut.validation.ValidatingInterceptor.validateReturnMicronautValidator(ValidatingInterceptor.java:153)
at io.micronaut.validation.ValidatingInterceptor.intercept(ValidatingInterceptor.java:139)
at io.micronaut.aop.chain.MethodInterceptorChain.proceed(MethodInterceptorChain.java:137)
at io.micronaut.email.$DefaultEmailSender$Definition$Intercepted.send(Unknown Source)
at io.micronaut.email.EmailSender.send(EmailSender.java:39)
at com.example.OciMailService.send(OciMailService.kt:29)
at com.example.OciMailService.onStartupEvent(OciMailService.kt:17)
at com.example.$OciMailService$Definition$Exec.dispatch(Unknown Source)
at io.micronaut.context.AbstractExecutableMethodsDefinition$DispatchedExecutableMethod.invoke(AbstractExecutableMethodsDefinition.java:442)
at io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.invoke(DefaultBeanContext.java:3873)
at io.micronaut.aop.chain.AdapterIntroduction.intercept(AdapterIntroduction.java:84)
at io.micronaut.aop.chain.MethodInterceptorChain.proceed(MethodInterceptorChain.java:137)
at com.example.OciMailService$ApplicationEventListener$onStartupEvent1$Intercepted.onApplicationEvent(Unknown Source)
at io.micronaut.context.event.ApplicationEventPublisherFactory.notifyEventListeners(ApplicationEventPublisherFactory.java:266)
at io.micronaut.context.event.ApplicationEventPublisherFactory$2.publishEvent(ApplicationEventPublisherFactory.java:226)
at io.micronaut.context.DefaultBeanContext.publishEvent(DefaultBeanContext.java:1784)
at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:362)
at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:191)
at io.micronaut.runtime.Micronaut.start(Micronaut.java:75)
at io.micronaut.runtime.Micronaut.run(Micronaut.java:324)
at io.micronaut.runtime.Micronaut.run(Micronaut.java:299)
at com.example.ApplicationKt.main(Application.kt:5)
Expected Behavior
Email can be sent
Actual Behaviour
The
io.micronaut.email.EmailSender
send function throws the followingjakarta.validation.ConstraintViolationException
:jakarta.validation.ConstraintViolationException: send.email.to: Cannot validate java.util.Collection. No bean introspection present. Please add @Introspected to the class and ensure Micronaut annotation processing is enabled
Steps To Reproduce
See also demo repo.
Basic Kotlin example is:
I tried, KSP and Kapt, both with the same result.
Environment Information
JDK 17
Example Application
https://github.com/liefra/jakartamaildemo
Version
Micronaut 4.0.0-M2