Package gov.usgs.earthquake.nats
Class NATSStreamingNotificationSender
- java.lang.Object
-
- gov.usgs.util.DefaultConfigurable
-
- gov.usgs.earthquake.product.AbstractListener
-
- gov.usgs.earthquake.distribution.DefaultNotificationListener
-
- gov.usgs.earthquake.distribution.DefaultNotificationSender
-
- gov.usgs.earthquake.nats.NATSStreamingNotificationSender
-
- All Implemented Interfaces:
NotificationIndexCleanup.Listener,NotificationListener,Configurable
public class NATSStreamingNotificationSender extends DefaultNotificationSender
Sends notifications directly to NATS streaming server using a NATS client
-
-
Field Summary
-
Fields inherited from class gov.usgs.earthquake.distribution.DefaultNotificationSender
DEFAULT_PRODUCT_STORAGE_MAX_AGE, PRODUCT_STORAGE_MAX_AGE_PROPERTY, PRODUCT_STORAGE_PROPERTY, productStorage, productStorageMaxAge, SERVER_HOST_PROPERTY, SERVER_PORT_PROPERTY, serverHost, serverPort
-
Fields inherited from class gov.usgs.earthquake.distribution.DefaultNotificationListener
CLEANUP_INTERVAL_PROPERTY, CONCURRENT_PRODUCTS_PROPERTY, DEFAULT_CLEANUP_INTERVAL, DEFAULT_CONCURRENT_PRODUCTS, DEFAULT_PROCESS_DUPLICATES, EXCLUDE_PATHS_PROPERTY, INCLUDE_PATHS_PROPERTY, INDEX_FILE_PROPERTY, NOTIFICATION_INDEX_PROPERTY, PROCESS_DUPLICATES
-
Fields inherited from class gov.usgs.earthquake.product.AbstractListener
ATTEMPT_COUNT_PROPERTY, DEFAULT_ATTEMPT_COUNT, DEFAULT_RETRY_DELAY, DEFAULT_TIMEOUT, EXCLUDE_SOURCES_PROPERTY, EXCLUDE_TYPES_PROPERTY, INCLUDE_ACTUALS_PROPERTY, INCLUDE_DEVELOPMENTS_PROPERTY, INCLUDE_INTERNALS_PROPERTY, INCLUDE_SCENARIOS_PROPERTY, INCLUDE_SOURCES_PROPERTY, INCLUDE_TESTS_PROPERTY, INCLUDE_TYPES_PROPERTY, MAX_TRIES_PROPERTY, RETRY_DELAY_PROPERTY, TIMEOUT_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description NATSStreamingNotificationSender()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfigure(Config config)Configures based on configuration section.NATSClientgetClient()java.lang.StringgetSubject()voidsendNotification(Notification notification)Publishes notification to NATS streaming servervoidsetClient(NATSClient client)voidsetSubject(java.lang.String subject)voidshutdown()Safely closes the NATSStreaming connection and superclassesvoidstartup()Starts NATSStreaming connection and superclasses-
Methods inherited from class gov.usgs.earthquake.distribution.DefaultNotificationSender
getProductStorage, getProductStorageMaxAge, getServerHost, getServerPort, onAfterProcessNotification, onBeforeProcessNotification, onExpiredNotification, onProduct, setProductStorage, setProductStorageMaxAge, setServerHost, setServerPort
-
Methods inherited from class gov.usgs.earthquake.distribution.DefaultNotificationListener
cleanup, getCleanupInterval, getConcurrentProducts, getExcludePaths, getIncludePaths, getNotificationIndex, isProcessDuplicates, onBeforeProcessProduct, onNotification, setCleanupInterval, setConcurrentProducts, setNotificationIndex, setProcessDuplicates
-
Methods inherited from class gov.usgs.earthquake.product.AbstractListener
accept, getExcludeSources, getExcludeTypes, getIncludeSources, getIncludeTypes, getMaxTries, getRetryDelay, getTimeout, isIncludeActuals, isIncludeDevelopments, isIncludeInternals, isIncludeScenarios, isIncludeTests, setIncludeActuals, setIncludeDevelopments, setIncludeInternals, setIncludeScenarios, setIncludeTests, setMaxTries, setRetryDelay, setTimeout
-
Methods inherited from class gov.usgs.util.DefaultConfigurable
getName, setName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface gov.usgs.util.Configurable
getName, setName
-
Methods inherited from interface gov.usgs.earthquake.distribution.NotificationListener
getMaxTries, getTimeout
-
-
-
-
Method Detail
-
configure
public void configure(Config config) throws java.lang.Exception
Description copied from class:DefaultNotificationSenderConfigures based on configuration section.- Specified by:
configurein interfaceConfigurable- Overrides:
configurein classDefaultNotificationSender- Parameters:
config- The config- Throws:
java.lang.Exception- if something goes wrong
-
sendNotification
public void sendNotification(Notification notification) throws java.lang.Exception
Publishes notification to NATS streaming server- Overrides:
sendNotificationin classDefaultNotificationSender- Parameters:
notification- The notification to send- Throws:
java.lang.Exception- if something goes wrong with publish
-
startup
public void startup() throws java.lang.ExceptionStarts NATSStreaming connection and superclasses- Specified by:
startupin interfaceConfigurable- Overrides:
startupin classDefaultNotificationSender- Throws:
java.lang.Exception- if there's an issue with superclasses, generating a client ID, or connecting to server
-
shutdown
public void shutdown() throws java.lang.ExceptionSafely closes the NATSStreaming connection and superclasses- Specified by:
shutdownin interfaceConfigurable- Overrides:
shutdownin classDefaultNotificationSender- Throws:
java.lang.Exception- if superclasses throw exceptions
-
getClient
public NATSClient getClient()
- Returns:
- NATSClient
-
setClient
public void setClient(NATSClient client)
- Parameters:
client- NATSClient to set
-
getSubject
public java.lang.String getSubject()
- Returns:
- subject
-
setSubject
public void setSubject(java.lang.String subject)
- Parameters:
subject- to set
-
-