1 /*
2 * $Id: Initialisable.java 19191 2010-08-25 21:05:23Z tcarlson $
3 * --------------------------------------------------------------------------------------
4 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
5 *
6 * The software in this package is published under the terms of the CPAL v1.0
7 * license, a copy of which has been included with this distribution in the
8 * LICENSE.txt file.
9 */
10
11 package org.mule.api.lifecycle;
12
13 /**
14 * <code>Initialisable</code> is a lifecycle interface that gets called at the
15 * initialise lifecycle stage of the implementing service.
16 */
17 public interface Initialisable
18 {
19 String PHASE_NAME = "initialise";
20
21 /**
22 * Method used to perform any initialisation work. If a fatal error occurs during
23 * initialisation an <code>InitialisationException</code> should be thrown,
24 * causing the Mule instance to shutdown. If the error is recoverable, say by
25 * retrying to connect, a <code>RecoverableException</code> should be thrown.
26 * There is no guarantee that by throwing a Recoverable exception that the Mule
27 * instance will not shut down.
28 *
29 * @throws InitialisationException if a fatal error occurs causing the Mule instance to shutdown
30 * @throws RecoverableException if an error occurs that can be recovered from
31 */
32 void initialise() throws InitialisationException;
33 }