package at.gv.egiz.moazs.config; import at.gv.egiz.moazs.repository.BinaryRepository; import at.gv.egiz.moazs.repository.InMemoryBinaryRepository; import at.gv.egiz.moazs.scheme.NameSpace; import at.gv.egiz.moazs.scheme.NotificationResponse; import at.gv.egiz.moazs.scheme.RequestStatusResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import java.util.Map; import java.util.function.Function; @Configuration @Profile("!cluster") public class RepositoryConfig { @Value("${repository.expiresAfterWrite}") private int expiresAfterWrite; @Bean public BinaryRepository binaryRepository() { return new InMemoryBinaryRepository(expiresAfterWrite); } @Bean public Map> idGenerators() { return Map.of(NameSpace.MSG_DELIVERY_REQUEST_STATUS, RequestStatusResponse::getResponseID, NameSpace.MSG_DELIVERY_NOTIFICATION, NotificationResponse::getResponseID); } }