我正在将我的应用程序升级到Micronaut 4,并按照Micronaut指南中的说明进行了更改
应用程序正常启动,但当我try 从SQL Server检索数据时,收到错误消息:
Exception in thread "DefaultDispatcher-worker-1" io.micronaut.context.exceptions.ConfigurationException: No backing TransactionOperations configured. Check your configuration and try again
Caused by: io.micronaut.context.exceptions.NoSuchBeanException: No bean of type [io.micronaut.transaction.TransactionOperations] exists. Make sure the bean is not disabled by bean requirements (enable trace logging for 'io.micronaut.context.condition' to check) and if the bean is enabled then ensure the class is declared a bean and annotation processing is enabled (for Java and Kotlin the 'micronaut-inject-java' dependency should be configured as an annotation processor).
at io.micronaut.context.DefaultBeanContext.newNoSuchBeanException(DefaultBeanContext.java:2773)
at io.micronaut.context.DefaultApplicationContext.newNoSuchBeanException(DefaultApplicationContext.java:304)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2735)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1729)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:856)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:841)
at io.micronaut.transaction.support.DefaultTransactionOperationsRegistry.provideSynchronous(DefaultTransactionOperationsRegistry.java:49)
导致问题的方法如下:
@jakarta.transaction.Transactional
fun loadIndex(index: String) = runBlocking {
logger.info { "Starting load..." }
loadRepository.pullLoadRecords()
}
我已经像往常一样在应用程序.yaml文件中声明了数据源,并且在升级之前应用程序也正常工作,所以我猜我在Micronaut4的升级中做错了什么.
有什么建议吗?