public class AlertNoticeDispatchService
extends com.google.common.util.concurrent.AbstractScheduledService
AlertNoticeDispatchService
is used to scan the database for
AlertNoticeEntity
that are in the NotificationState.PENDING
state. It will then process them through the dispatch system.
The dispatch system will then make a callback to
AlertNoticeDispatchCallback
so that the NotificationState
can
be updated to its final value.
This class uses the templates that are defined via
Configuration.getAlertTemplateFile()
or the fallback internal
template alert-templates.xml
. These files are parsed during
startUp()
. If there is a problem parsing them, the service will
still startup normally, producing an error in logs. It will fall back to
simple string concatenation for Notification
content in this case.Modifier and Type | Class and Description |
---|---|
static class |
AlertNoticeDispatchService.AlertInfo
The
AlertNoticeDispatchService.AlertInfo class encapsulates all information about a single
alert for a single outbound Notification . |
static class |
AlertNoticeDispatchService.AlertSummaryInfo
The
AlertNoticeDispatchService.AlertSummaryInfo class encapsulates all of the alert
information for the Notification . |
static class |
AlertNoticeDispatchService.AmbariInfo
The
AlertNoticeDispatchService.AmbariInfo class is used to provide the template engine with
information about the Ambari installation. |
static class |
AlertNoticeDispatchService.DispatchInfo
The
AlertNoticeDispatchService.DispatchInfo class is used to provide the template engine with
information about the intended target of the notification. |
Modifier and Type | Field and Description |
---|---|
static String |
AMBARI_DISPATCH_CREDENTIAL_PASSWORD
The property containing the dispatch authentication password.
|
static String |
AMBARI_DISPATCH_CREDENTIAL_USERNAME
The property containing the dispatch authentication username.
|
static String |
AMBARI_DISPATCH_RECIPIENTS
The property containing the dispatch recipients
|
Constructor and Description |
---|
AlertNoticeDispatchService()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
runOneIteration() |
protected com.google.common.util.concurrent.AbstractScheduledService.Scheduler |
scheduler()
Returns a schedule that starts after 2 minute and runs every 2 minutes
after
runOneIteration() completes. |
protected void |
setExecutor(Executor executor)
Sets the
Executor to use when dispatching Notification s. |
protected void |
startUp()
Parse the XML template for
Notification content. |
public static final String AMBARI_DISPATCH_CREDENTIAL_USERNAME
public static final String AMBARI_DISPATCH_CREDENTIAL_PASSWORD
public static final String AMBARI_DISPATCH_RECIPIENTS
protected void startUp() throws Exception
Notification
content. If there is a
problem parsing the content, the service will still startup normally but
the Notification
content will fallback to plaintext.startUp
in class com.google.common.util.concurrent.AbstractScheduledService
Exception
protected void setExecutor(Executor executor)
Executor
to use when dispatching Notification
s.
This should only be used by unit tests to provide a mock executor.executor
- the executor to use (not {@code null).protected void runOneIteration() throws Exception
runOneIteration
in class com.google.common.util.concurrent.AbstractScheduledService
Exception
protected com.google.common.util.concurrent.AbstractScheduledService.Scheduler scheduler()
runOneIteration()
completes.scheduler
in class com.google.common.util.concurrent.AbstractScheduledService
Copyright © 2022 Apache Software Foundation. All rights reserved.