All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.openmessaging.api.LifeCycle Maven / Gradle / Ivy

The newest version!
/*
 * 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 io.openmessaging.api;

/**
 * The {@code LifeCycle} defines a lifecycle interface for a OMS related service endpoint, like {@link Producer}, {@link
 * Consumer}, and so on.
 * 

* If the service endpoint class implements the {@code ServiceLifecycle} interface, most of the containers can manage * the lifecycle of the corresponding service endpoint objects easily. *

* Any service endpoint should support repeated restart if it implements the {@code ServiceLifecycle} interface. * * @version OMS 1.2.0 * @since OMS 1.2.0 */ public interface LifeCycle { /** * Used to determine whether the current instance is started. * * @return if this instance has been started success, this method will return true, otherwise false. */ boolean isStarted(); /** * Used to determine whether the current instance is closed. * * @return if this instance has been stopped, this method will return true, otherwise false. */ boolean isClosed(); /** * Used for startup or initialization of a service endpoint. A service endpoint instance will be in a ready state * after this method has been completed. */ void start(); /** * Notify a service instance of the end of its life cycle. Once this method completes, the service endpoint could be * destroyed and eligible for garbage collection. */ void shutdown(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy