Я делаю некоторые вставки документов Spring Data в запланированное задание, например:
val session = client.startSession()
val template = MongoTemplate(client, db)
val sessionBoundOps = template.withSession(session)
session.startTransaction()
sessionBoundOps.insert(obj);
session.commitTransaction()
, что приводит к следующему исключению:
Unexpected error occurred in scheduled task
java.lang.RuntimeException: java.lang.IllegalStateException: org.springframework.cglib.core.CodeGenerationException: java.lang.LinkageError-->loader org.springframework.boot.loader.LaunchedURLClassLoader @5d3411d attempted duplicate class definition for pw.prj.core.domain.stats.UserDailyStats_Accessor_wvhcc8. (pw.prj.core.domain.stats.UserDailyStats_Accessor_wvhcc8 is in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @5d3411d, parent loader 'app')
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory.createAccessorClass(ClassGeneratingPropertyAccessorFactory.java:200)
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory.potentiallyCreateAndRegisterPersistentPropertyAccessorClass(ClassGeneratingPropertyAccessorFactory.java:184)
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory.getPropertyAccessor(ClassGeneratingPropertyAccessorFactory.java:92)
at org.springframework.data.mapping.model.BasicPersistentEntity.getPropertyAccessor(BasicPersistentEntity.java:455)
at org.springframework.data.mapping.model.IdPropertyIdentifierAccessor.<init>(IdPropertyIdentifierAccessor.java:54)
at org.springframework.data.mapping.model.BasicPersistentEntity.getIdentifierAccessor(BasicPersistentEntity.java:471)
at org.springframework.data.mongodb.core.EntityOperations$AdaptibleMappedEntity.of(EntityOperations.java:619)
at org.springframework.data.mongodb.core.EntityOperations$AdaptibleMappedEntity.access$100(EntityOperations.java:598)
at org.springframework.data.mongodb.core.EntityOperations.forEntity(EntityOperations.java:104)
at org.springframework.data.mongodb.core.MongoTemplate.doInsert(MongoTemplate.java:1244)
at org.springframework.data.mongodb.core.MongoTemplate.insert(MongoTemplate.java:1185)
at org.springframework.data.mongodb.core.MongoTemplate.insert(MongoTemplate.java:1170)
at pw.prj.core.infra.persistence.MongoUserDailyStatsPersister$saveStatsAndTransferMoney$1.invoke(MongoUserDailyStatsPersister.kt:44)
at pw.prj.core.infra.persistence.MongoUserDailyStatsPersister$saveStatsAndTransferMoney$1.invoke(MongoUserDailyStatsPersister.kt:18)
at pw.prj.core.infra.TransactionRunner.run(TransactionRunner.kt:20)
...
Моя модель - простые данные класс, выглядит так:
@Document
@CompoundIndexes(value = [
CompoundIndex(def = "{'userId': 1, 'date': 1}", unique = true)
])
data class UserDailyStats(
val userId: ObjectId,
val date: Date,
val viewsPerOwnServer: Map<String, Int>,
val adViewsPerOwnServer: Map<String, Int>,
val revenuePerOwnServer: Map<String, String>,
val referralRegistrations: Int,
val referralViews: Int,
val referralAdViews: Int,
val referralRevenue: String,
@Id val id: String? = null
)
Java 12, Spring Boot 2.2.0.M5. Ты хоть представляешь, что происходит не так? Заранее спасибо.