0
Scope (value = prototype)을 사용하여 bean을 만들고 @JaversSpringDataAuditable 주석을 사용하여 리포지토리에 사용할 수 있습니다. 모든 데이터가 적절한 데이터베이스에 저장됩니다.dongamically mongo 데이터베이스 (multitenant)를 선택하는 방법
@Bean
@Scope(value = "prototype")
@Lazy(value = true)
public Javers javers() {
Authentication auth = SecurityContextHolder.getContext().getAuthentication()
String tenantId = null
if (auth == null) {
tenantId = "unauthenticated"
}else{
tenantId = auth.getName().toString()
}
System.out.println("Selected " + tenantId.toString())
MongoRepository javersMongoRepository =
new MongoRepository(mongo().getDatabase(tenantId));
return JaversBuilder.javers()
.registerJaversRepository(javersMongoRepository)
.build();
}
특정 클래스에서 나는 Javers 커밋보다 세세한 제어가 필요합니다. 내가 커밋 매뉴얼을 호출 할 때, 항상
이 코드는 항상
@Autowired
Javers javers
def saveDTO(AuthUtils authUtils, DTO dto){
javers.commit(authUtils.currentUser.email, dto)
}
어떤 도움이 감지 될 것 "인증되지 않은"이라는 데이터베이스에 데이터를 저장 "인증되지 않은"나를 돌아갑니다. 감사.