@Override public Metric getCommandsMetric() { return metricFactory.generate(LMTP_COMMANDS); } }
@Override public Metric getConnectionMetric() { return metricFactory.generate(LMTP_CONNECTIONS); }
@VisibleForTesting DeliveryRunnable(MailQueue queue, RemoteDeliveryConfiguration configuration, MetricFactory metricFactory, Bouncer bouncer, MailDelivrer mailDelivrer, AtomicBoolean isDestroyeds, Supplier<Date> dateSupplier) { this.queue = queue; this.configuration = configuration; this.outgoingMailsMetric = metricFactory.generate(OUTGOING_MAILS); this.bouncer = bouncer; this.mailDelivrer = mailDelivrer; this.isDestroyed = isDestroyeds; this.dateSupplier = dateSupplier; this.metricFactory = metricFactory; }
private void init(String metricName) { Preconditions.checkNotNull(metricName); metric = metricFactory.generate(metricName); }
public JMSMailQueue(ConnectionFactory connectionFactory, MailQueueItemDecoratorFactory mailQueueItemDecoratorFactory, String queueName, MetricFactory metricFactory, GaugeRegistry gaugeRegistry) { try { connection = connectionFactory.createConnection(); connection.start(); } catch (JMSException e) { throw new RuntimeException(e); } this.mailQueueItemDecoratorFactory = mailQueueItemDecoratorFactory; this.queueName = queueName; this.metricFactory = metricFactory; this.enqueuedMailsMetric = metricFactory.generate(ENQUEUED_METRIC_NAME_PREFIX + queueName); this.dequeuedMailsMetric = metricFactory.generate(DEQUEUED_METRIC_NAME_PREFIX + queueName); this.gaugeRegistry = gaugeRegistry; this.gaugeRegistry.register(QUEUE_SIZE_METRIC_NAME_PREFIX + queueName, queueSizeGauge()); this.joiner = Joiner.on(JAMES_MAIL_SEPARATOR).skipNulls(); this.splitter = Splitter.on(JAMES_MAIL_SEPARATOR) .omitEmptyStrings() // ignore null values. See JAMES-1294 .trimResults(); try { session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); queue = session.createQueue(queueName); producer = session.createProducer(queue); } catch (JMSException e) { throw new RuntimeException(e); } }
public CachingTextExtractor(TextExtractor underlying, Duration cacheEvictionPeriod, Long cacheWeightInBytes, MetricFactory metricFactory, GaugeRegistry gaugeRegistry) { this.underlying = underlying; this.weightMetric = metricFactory.generate("textExtractor.cache.weight"); Weigher<String, ParsedContent> weigher = (key, parsedContent) -> computeWeight(parsedContent); RemovalListener<String, ParsedContent> removalListener = notification -> Optional.ofNullable(notification.getValue()) .map(this::computeWeight) .ifPresent(weightMetric::remove); this.cache = CacheBuilder.newBuilder() .expireAfterAccess(cacheEvictionPeriod.toMillis(), TimeUnit.MILLISECONDS) .maximumWeight(cacheWeightInBytes) .weigher(weigher) .recordStats() .removalListener(removalListener) .build(); recordStats(gaugeRegistry); }
@Before public void setUp() throws Exception { metricFactory = mock(MetricFactory.class); metric = mock(Metric.class); when(metricFactory.generate(anyString())).thenReturn(metric); mailet = new MetricsMailet(metricFactory); }
@Before public void setUp() throws Exception { mailetContext = FakeMailContext.builder().logger(mock(Logger.class)).build(); messageManager = mock(MessageManager.class); usersRepository = mock(UsersRepository.class); mailboxManager = mock(MailboxManager.class); user = mock(MailboxSession.User.class); MetricFactory metricFactory = mock(MetricFactory.class); when(metricFactory.generate(anyString())).thenReturn(mock(Metric.class)); testee = new ToRecipientFolder(mailboxManager, usersRepository, metricFactory); MailboxSession session = mock(MailboxSession.class); when(session.getPathDelimiter()).thenReturn('.'); try { when(mailboxManager.createSystemSession(any(String.class))).thenReturn(session); } catch (MailboxException e) { throw new RuntimeException(e); } when(session.getUser()).thenReturn(user); }
@Before public void setUp() throws Exception { usersRepository = mock(UsersRepository.class); mailboxManager = mock(MailboxManager.class); MetricFactory metricFactory = mock(MetricFactory.class); when(metricFactory.generate(anyString())).thenReturn(mock(Metric.class)); testee = new LocalDelivery(usersRepository, mailboxManager, metricFactory); user = mock(MailboxSession.User.class); MailboxSession session = mock(MailboxSession.class); when(session.getPathDelimiter()).thenReturn('.'); when(mailboxManager.createSystemSession(any(String.class))).thenReturn(session); when(session.getUser()).thenReturn(user); config = FakeMailetConfig.builder() .mailetName("Local delivery") .mailetContext(FakeMailContext.builder().logger(mock(Logger.class))) .build(); }
@Before public void setUp() { FakeMailetConfig mailetConfig = FakeMailetConfig.builder() .setProperty(RemoteDeliveryConfiguration.DELIVERY_THREADS, "1") .setProperty(RemoteDeliveryConfiguration.DEBUG, "true") .setProperty(RemoteDeliveryConfiguration.DELAY_TIME, "1000,2000,3000,4000,5000") .build(); RemoteDeliveryConfiguration configuration = new RemoteDeliveryConfiguration(mailetConfig, mock(DomainList.class)); outgoingMailsMetric = mock(Metric.class); MetricFactory mockMetricFactory = mock(MetricFactory.class); when(mockMetricFactory.generate(anyString())).thenReturn(outgoingMailsMetric); when(mockMetricFactory.timer(anyString())).thenReturn(new NoopMetricFactory.NoopTimeMetric()); bouncer = mock(Bouncer.class); mailDelivrer = mock(MailDelivrer.class); mailQueue = mock(MailQueue.class); testee = new DeliveryRunnable(mailQueue, configuration, mockMetricFactory, bouncer, mailDelivrer, DeliveryRunnable.DEFAULT_NOT_STARTED, FIXED_DATE_SUPPLIER); }
@Override public void init() throws MessagingException { mailDispatcher = MailDispatcher.builder() .mailStore(SimpleMailStore.builder() .mailboxAppender(new MailboxAppender(mailboxManager)) .usersRepository(usersRepository) .folder(MailboxConstants.INBOX) .metric(metricFactory.generate(LOCAL_DELIVERED_MAILS_METRIC_NAME)) .build()) .consume(getInitParameter("consume", true)) .mailetContext(getMailetContext()) .build(); }
@Override public void init() throws MessagingException { mailDispatcher = MailDispatcher.builder() .mailStore(SimpleMailStore.builder() .mailboxAppender(new MailboxAppender(mailboxManager)) .usersRepository(usersRepository) .folder(getInitParameter(FOLDER_PARAMETER, MailboxConstants.INBOX)) .metric(metricFactory.generate(LOCAL_DELIVERED_MAILS_METRIC_NAME)) .build()) .consume(getInitParameter(CONSUME_PARAMETER, false)) .mailetContext(getMailetContext()) .build(); }