Вот мое приложение
import org.springframework.boot.CommandLineRunner
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.context.annotation.Bean
import org.springframework.data.annotation.CreatedDate
import org.springframework.data.mongodb.config.EnableMongoAuditing
import org.springframework.data.mongodb.repository.MongoRepository
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
import java.time.LocalDate
@EnableMongoAuditing
@SpringBootApplication
open class TestApp(private val itemRepository: ItemRepository,
private val reactiveItemRepository: ReactiveItemRepository
) {
@Bean
open fun commandLineRunner(): CommandLineRunner {
return CommandLineRunner {
val nonReactiveItem = Item(null, "non reactive item", null)
itemRepository.save(nonReactiveItem)
val reactiveItem = Item(null, "reactive item", null)
reactiveItemRepository.save(reactiveItem).block()
}
}
}
interface ItemRepository : MongoRepository<Item, String>
interface ReactiveItemRepository : ReactiveMongoRepository<Item, String>
data class Item(
private val id: String?,
private val name: String,
@CreatedDate private val createdDate: LocalDate?
)
fun main(args: Array<String>) {
runApplication<TestApp>(*args)
}
Но когда я проверяю в базе данных, нереактивный репозиторий устанавливает madeDate, а реактивный - нет. Нужно ли что-нибудь еще, чтобы конфигурация работала для реактивных репозиториев?