package won.matcher.service.crawler.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import scala.concurrent.duration.Duration; import scala.concurrent.duration.FiniteDuration; import java.util.List; import java.util.concurrent.TimeUnit; /** * Configuration for the crawler * * Created by hfriedrich on 07.09.2015. */ @Configuration @PropertySource("file:${WON_CONFIG_DIR}/matcher-service.properties") public class CrawlConfig { @Value("#{'${crawler.propertyPaths.base}'.split(',')}") private List<String> crawlBasePropertyPaths; @Value("#{'${crawler.propertyPaths.nonBase}'.split(',')}") private List<String> crawlNonBasePropertyPaths; @Value("${crawler.http.timeout.connection}") private long httpConnectionTimeout; @Value("${crawler.http.timeout.read}") private long httpReadTimeout; @Value("${crawler.metaDataUpdate.maxDuration}") private long metaDataUpdateMaxDuration; @Value("${crawler.metaDataUpdate.maxBulkSize}") private long metaDataUpdateMaxBulkSize; @Value("${crawler.recrawl.interval.minutes}") private long recrawlIntervalMinutes; public List<String> getCrawlBasePropertyPaths() { return crawlBasePropertyPaths; } public List<String> getCrawlNonBasePropertyPaths() { return crawlNonBasePropertyPaths; } public long getHttpConnectionTimeout() { return httpConnectionTimeout; } public long getHttpReadTimeout() { return httpReadTimeout; } public FiniteDuration getRecrawlIntervalDuration() { return Duration.create(recrawlIntervalMinutes, TimeUnit.MINUTES); } public FiniteDuration getMetaDataUpdateMaxDuration() { return Duration.create(metaDataUpdateMaxDuration, TimeUnit.MILLISECONDS); } public long getMetaDataUpdateMaxBulkSize() { return metaDataUpdateMaxBulkSize; } }