/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.nifi.bootstrap.notification; import org.apache.nifi.components.ConfigurableComponent; /** * <p> * A NotificationService is simple mechanism that the Bootstrap can use to notify * interested parties when some event takes place, such as NiFi being started, stopped, * or restarted because the process died. * </p> * * <p> * <b>Note:</b> This feature was introduced in version 0.3.0 of NiFi and is likely to undergo * significant refactorings. As such, at this time it is NOT considered a public API and may well * change from version to version until the API has stabilized. At that point, it will become a public * API. * </p> * * @since 0.3.0 */ public interface NotificationService extends ConfigurableComponent { /** * Provides the NotificationService with access to objects that may be of use * throughout the life of the service * * @param context of initialization */ void initialize(NotificationInitializationContext context); /** * Notifies the configured recipients of some event * * @param context the context that is relevant for this notification * @param notificationType the notification type * @param subject the subject of the message * @param message the message to be provided to recipients */ void notify(NotificationContext context, NotificationType notificationType, String subject, String message) throws NotificationFailedException; }