@@ -0,0 +1,1160 @@
+/**%0A * Copyright (c) 2017 Contributors to the Eclipse Foundation%0A *%0A * See the NOTICE file(s) distributed with this work for additional%0A * information regarding copyright ownership.%0A *%0A * This program and the accompanying materials are made available under the%0A * terms of the Eclipse Public License 1.0 which is available at%0A * https://www.eclipse.org/legal/epl-v10.html%0A *%0A * SPDX-License-Identifier: EPL-1.0%0A */%0A%0Apackage org.eclipse.hono.service;%0A%0Aimport io.vertx.core.Future;%0A%0A/**%0A * Methods for managing the life cycle of a component.%0A *%0A */%0Apublic interface Lifecycle %7B%0A%0A    /**%0A     * Starts this component.%0A     * %3Cp%3E%0A     * This method should be used to allocate any required resources.%0A     * However, no long running tasks should be executed.%0A     * %0A     * @return A future indicating the outcome of the startup process.%0A     */%0A    Future%3CVoid%3E start();%0A%0A    /**%0A     * Stops this component.%0A     * %3Cp%3E%0A     * This method should be used to release any allocated resources.%0A     * However, no long running tasks should be executed.%0A     * %0A     * @return A future indicating the outcome of the shut down process.%0A     */%0A    Future%3CVoid%3E stop();%0A%7D%0A

Introduce Lifecycle interface.