Search in sources :

Example 1 with FeedURLProvider

use of com.commafeed.backend.urlprovider.FeedURLProvider in project commafeed by Athou.

the class CommaFeedModule method configure.

@Override
protected void configure() {
    CacheService cacheService = config.getApplicationSettings().getCache() == CacheType.NOOP ? new NoopCacheService() : new RedisCacheService(config.getRedisPoolFactory().build());
    log.info("using cache {}", cacheService.getClass());
    bind(CacheService.class).toInstance(cacheService);
    Multibinder<AbstractFaviconFetcher> faviconMultibinder = Multibinder.newSetBinder(binder(), AbstractFaviconFetcher.class);
    faviconMultibinder.addBinding().to(YoutubeFaviconFetcher.class);
    faviconMultibinder.addBinding().to(FacebookFaviconFetcher.class);
    faviconMultibinder.addBinding().to(DefaultFaviconFetcher.class);
    Multibinder<FeedURLProvider> urlProviderMultibinder = Multibinder.newSetBinder(binder(), FeedURLProvider.class);
    urlProviderMultibinder.addBinding().to(InPageReferenceFeedURLProvider.class);
    urlProviderMultibinder.addBinding().to(YoutubeFeedURLProvider.class);
    Multibinder<ScheduledTask> taskMultibinder = Multibinder.newSetBinder(binder(), ScheduledTask.class);
    taskMultibinder.addBinding().to(OldStatusesCleanupTask.class);
    taskMultibinder.addBinding().to(OldEntriesCleanupTask.class);
    taskMultibinder.addBinding().to(OrphanedFeedsCleanupTask.class);
    taskMultibinder.addBinding().to(OrphanedContentsCleanupTask.class);
    ApplicationSettings settings = config.getApplicationSettings();
    if (settings.isGraphiteEnabled()) {
        final String graphitePrefix = settings.getGraphitePrefix();
        final String graphiteHost = settings.getGraphiteHost();
        final int graphitePort = settings.getGraphitePort();
        final int graphiteInterval = settings.getGraphiteInterval();
        log.info("Graphite Metrics will be sent to host={}, port={}, prefix={}, interval={}sec", graphiteHost, graphitePort, graphitePrefix, graphiteInterval);
        final Graphite graphite = new Graphite(new InetSocketAddress(graphiteHost, graphitePort));
        final GraphiteReporter reporter = GraphiteReporter.forRegistry(metrics).prefixedWith(graphitePrefix).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).filter(MetricFilter.ALL).build(graphite);
        reporter.start(graphiteInterval, TimeUnit.SECONDS);
    } else {
        log.info("Graphite Metrics Disabled. Metrics will not be sent.");
    }
}
Also used : RedisCacheService(com.commafeed.backend.cache.RedisCacheService) InetSocketAddress(java.net.InetSocketAddress) GraphiteReporter(com.codahale.metrics.graphite.GraphiteReporter) AbstractFaviconFetcher(com.commafeed.backend.favicon.AbstractFaviconFetcher) ScheduledTask(com.commafeed.backend.task.ScheduledTask) NoopCacheService(com.commafeed.backend.cache.NoopCacheService) ApplicationSettings(com.commafeed.CommaFeedConfiguration.ApplicationSettings) Graphite(com.codahale.metrics.graphite.Graphite) InPageReferenceFeedURLProvider(com.commafeed.backend.urlprovider.InPageReferenceFeedURLProvider) FeedURLProvider(com.commafeed.backend.urlprovider.FeedURLProvider) YoutubeFeedURLProvider(com.commafeed.backend.urlprovider.YoutubeFeedURLProvider) RedisCacheService(com.commafeed.backend.cache.RedisCacheService) CacheService(com.commafeed.backend.cache.CacheService) NoopCacheService(com.commafeed.backend.cache.NoopCacheService)

Aggregations

Graphite (com.codahale.metrics.graphite.Graphite)1 GraphiteReporter (com.codahale.metrics.graphite.GraphiteReporter)1 ApplicationSettings (com.commafeed.CommaFeedConfiguration.ApplicationSettings)1 CacheService (com.commafeed.backend.cache.CacheService)1 NoopCacheService (com.commafeed.backend.cache.NoopCacheService)1 RedisCacheService (com.commafeed.backend.cache.RedisCacheService)1 AbstractFaviconFetcher (com.commafeed.backend.favicon.AbstractFaviconFetcher)1 ScheduledTask (com.commafeed.backend.task.ScheduledTask)1 FeedURLProvider (com.commafeed.backend.urlprovider.FeedURLProvider)1 InPageReferenceFeedURLProvider (com.commafeed.backend.urlprovider.InPageReferenceFeedURLProvider)1 YoutubeFeedURLProvider (com.commafeed.backend.urlprovider.YoutubeFeedURLProvider)1 InetSocketAddress (java.net.InetSocketAddress)1