blob: 8cf66e902e60b6b2f0af02b6ed25d8fd94375456 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:01:39 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CompositeService (Apache Hadoop Common 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CompositeService (Apache Hadoop Common 3.3.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CompositeService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/hadoop/service/AbstractService.html" title="class in org.apache.hadoop.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/hadoop/service/CompositeService.CompositeServiceShutdownHook.html" title="class in org.apache.hadoop.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/hadoop/service/CompositeService.html" target="_top">Frames</a></li>
<li><a href="CompositeService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.service</div>
<h2 title="Class CompositeService" class="title">Class CompositeService</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/hadoop/service/AbstractService.html" title="class in org.apache.hadoop.service">org.apache.hadoop.service.AbstractService</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.service.CompositeService</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service">Service</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Evolving
public class <span class="typeNameLabel">CompositeService</span>
extends <a href="../../../../org/apache/hadoop/service/AbstractService.html" title="class in org.apache.hadoop.service">AbstractService</a></pre>
<div class="block">Composition of services.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.CompositeServiceShutdownHook.html" title="class in org.apache.hadoop.service">CompositeService.CompositeServiceShutdownHook</a></span></code>
<div class="block">JVM Shutdown hook for CompositeService which will stop the give
CompositeService gracefully in case of JVM shutdown.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.service.Service">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.hadoop.service.<a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service">Service</a></h3>
<code><a href="../../../../org/apache/hadoop/service/Service.STATE.html" title="enum in org.apache.hadoop.service">Service.STATE</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#STOP_ONLY_STARTED_SERVICES">STOP_ONLY_STARTED_SERVICES</a></span></code>
<div class="block">Policy on shutdown: attempt to close everything (purest) or
only try to close started services (which assumes
that the service implementations may not handle the stop() operation
except when started.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#CompositeService-java.lang.String-">CompositeService</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#addIfService-java.lang.Object-">addIfService</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</code>
<div class="block">If the passed object is an instance of <a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service"><code>Service</code></a>,
add it to the list of services managed by this <a href="../../../../org/apache/hadoop/service/CompositeService.html" title="class in org.apache.hadoop.service"><code>CompositeService</code></a></div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#addService-org.apache.hadoop.service.Service-">addService</a></span>(<a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service">Service</a>&nbsp;service)</code>
<div class="block">Add the passed <a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service"><code>Service</code></a> to the list of services managed by this
<a href="../../../../org/apache/hadoop/service/CompositeService.html" title="class in org.apache.hadoop.service"><code>CompositeService</code></a></div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service">Service</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#getServices--">getServices</a></span>()</code>
<div class="block">Get a cloned list of services</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#removeService-org.apache.hadoop.service.Service-">removeService</a></span>(<a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service">Service</a>&nbsp;service)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#serviceInit-org.apache.hadoop.conf.Configuration-">serviceInit</a></span>(<a href="../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a>&nbsp;conf)</code>
<div class="block">All initialization code needed by a service.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#serviceStart--">serviceStart</a></span>()</code>
<div class="block">Actions called during the INITED to STARTED transition.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/service/CompositeService.html#serviceStop--">serviceStop</a></span>()</code>
<div class="block">Actions called during the transition to the STOPPED state.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.service.AbstractService">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.service.<a href="../../../../org/apache/hadoop/service/AbstractService.html" title="class in org.apache.hadoop.service">AbstractService</a></h3>
<code><a href="../../../../org/apache/hadoop/service/AbstractService.html#close--">close</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#getBlockers--">getBlockers</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#getConfig--">getConfig</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#getFailureCause--">getFailureCause</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#getFailureState--">getFailureState</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#getLifecycleHistory--">getLifecycleHistory</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#getName--">getName</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#getServiceState--">getServiceState</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#getStartTime--">getStartTime</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#init-org.apache.hadoop.conf.Configuration-">init</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#isInState-org.apache.hadoop.service.Service.STATE-">isInState</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#noteFailure-java.lang.Exception-">noteFailure</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#putBlocker-java.lang.String-java.lang.String-">putBlocker</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#registerGlobalListener-org.apache.hadoop.service.ServiceStateChangeListener-">registerGlobalListener</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#registerServiceListener-org.apache.hadoop.service.ServiceStateChangeListener-">registerServiceListener</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#removeBlocker-java.lang.String-">removeBlocker</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#setConfig-org.apache.hadoop.conf.Configuration-">setConfig</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#start--">start</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#stop--">stop</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#toString--">toString</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#unregisterGlobalListener-org.apache.hadoop.service.ServiceStateChangeListener-">unregisterGlobalListener</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#unregisterServiceListener-org.apache.hadoop.service.ServiceStateChangeListener-">unregisterServiceListener</a>, <a href="../../../../org/apache/hadoop/service/AbstractService.html#waitForServiceToStop-long-">waitForServiceToStop</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="STOP_ONLY_STARTED_SERVICES">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>STOP_ONLY_STARTED_SERVICES</h4>
<pre>protected static final&nbsp;boolean STOP_ONLY_STARTED_SERVICES</pre>
<div class="block">Policy on shutdown: attempt to close everything (purest) or
only try to close started services (which assumes
that the service implementations may not handle the stop() operation
except when started.
Irrespective of this policy, if a child service fails during
its init() or start() operations, it will have stop() called on it.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.hadoop.service.CompositeService.STOP_ONLY_STARTED_SERVICES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CompositeService-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CompositeService</h4>
<pre>public&nbsp;CompositeService(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getServices--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServices</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service">Service</a>&gt;&nbsp;getServices()</pre>
<div class="block">Get a cloned list of services</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of child services at the time of invocation -
added services will not be picked up.</dd>
</dl>
</li>
</ul>
<a name="addService-org.apache.hadoop.service.Service-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addService</h4>
<pre>protected&nbsp;void&nbsp;addService(<a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service">Service</a>&nbsp;service)</pre>
<div class="block">Add the passed <a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service"><code>Service</code></a> to the list of services managed by this
<a href="../../../../org/apache/hadoop/service/CompositeService.html" title="class in org.apache.hadoop.service"><code>CompositeService</code></a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>service</code> - the <a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service"><code>Service</code></a> to be added</dd>
</dl>
</li>
</ul>
<a name="addIfService-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addIfService</h4>
<pre>protected&nbsp;boolean&nbsp;addIfService(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</pre>
<div class="block">If the passed object is an instance of <a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service"><code>Service</code></a>,
add it to the list of services managed by this <a href="../../../../org/apache/hadoop/service/CompositeService.html" title="class in org.apache.hadoop.service"><code>CompositeService</code></a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if a service is added, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="removeService-org.apache.hadoop.service.Service-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeService</h4>
<pre>protected&nbsp;boolean&nbsp;removeService(<a href="../../../../org/apache/hadoop/service/Service.html" title="interface in org.apache.hadoop.service">Service</a>&nbsp;service)</pre>
</li>
</ul>
<a name="serviceInit-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceInit</h4>
<pre>protected&nbsp;void&nbsp;serviceInit(<a href="../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a>&nbsp;conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/hadoop/service/AbstractService.html#serviceInit-org.apache.hadoop.conf.Configuration-">AbstractService</a></code></span></div>
<div class="block">All initialization code needed by a service.
This method will only ever be called once during the lifecycle of
a specific service instance.
Implementations do not need to be synchronized as the logic
in <a href="../../../../org/apache/hadoop/service/AbstractService.html#init-org.apache.hadoop.conf.Configuration-"><code>AbstractService.init(Configuration)</code></a> prevents re-entrancy.
The base implementation checks to see if the subclass has created
a new configuration instance, and if so, updates the base class value</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/hadoop/service/AbstractService.html#serviceInit-org.apache.hadoop.conf.Configuration-">serviceInit</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/service/AbstractService.html" title="class in org.apache.hadoop.service">AbstractService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conf</code> - configuration</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - on a failure -these will be caught,
possibly wrapped, and will trigger a service stop</dd>
</dl>
</li>
</ul>
<a name="serviceStart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceStart</h4>
<pre>protected&nbsp;void&nbsp;serviceStart()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/hadoop/service/AbstractService.html#serviceStart--">AbstractService</a></code></span></div>
<div class="block">Actions called during the INITED to STARTED transition.
This method will only ever be called once during the lifecycle of
a specific service instance.
Implementations do not need to be synchronized as the logic
in <a href="../../../../org/apache/hadoop/service/AbstractService.html#start--"><code>AbstractService.start()</code></a> prevents re-entrancy.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/hadoop/service/AbstractService.html#serviceStart--">serviceStart</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/service/AbstractService.html" title="class in org.apache.hadoop.service">AbstractService</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if needed -these will be caught,
wrapped, and trigger a service stop</dd>
</dl>
</li>
</ul>
<a name="serviceStop--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>serviceStop</h4>
<pre>protected&nbsp;void&nbsp;serviceStop()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/hadoop/service/AbstractService.html#serviceStop--">AbstractService</a></code></span></div>
<div class="block">Actions called during the transition to the STOPPED state.
This method will only ever be called once during the lifecycle of
a specific service instance.
Implementations do not need to be synchronized as the logic
in <a href="../../../../org/apache/hadoop/service/AbstractService.html#stop--"><code>AbstractService.stop()</code></a> prevents re-entrancy.
Implementations MUST write this to be robust against failures, including
checks for null references -and for the first failure to not stop other
attempts to shut down parts of the service.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/hadoop/service/AbstractService.html#serviceStop--">serviceStop</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/service/AbstractService.html" title="class in org.apache.hadoop.service">AbstractService</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if needed -these will be caught and logged.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CompositeService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/hadoop/service/AbstractService.html" title="class in org.apache.hadoop.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/hadoop/service/CompositeService.CompositeServiceShutdownHook.html" title="class in org.apache.hadoop.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/hadoop/service/CompositeService.html" target="_top">Frames</a></li>
<li><a href="CompositeService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>