<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.6.0/dotnetdoc/interface_apache_1_1_ignite_1_1_core_1_1_lifecycle_1_1_i_lifecycle_bean.html" />
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>Apache Ignite.NET: Apache.Ignite.Core.Lifecycle.ILifecycleBean Interface Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Apache Ignite.NET
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('interface_apache_1_1_ignite_1_1_core_1_1_lifecycle_1_1_i_lifecycle_bean.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="interface_apache_1_1_ignite_1_1_core_1_1_lifecycle_1_1_i_lifecycle_bean-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Ignite.Core.Lifecycle.ILifecycleBean Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A bean that reacts to Ignite lifecycle events defined in <a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_lifecycle.html#a97125ee1dd4cdb99a54f86706d41dd89" title="Ignite lifecycle event types. These events are used to notify lifecycle beans about changes in Ignite...">LifecycleEventType</a>. Use this bean whenever you need to plug some custom logic before or after Ignite startup and stopping routines.  
 <a href="interface_apache_1_1_ignite_1_1_core_1_1_lifecycle_1_1_i_lifecycle_bean.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aacd2067e2c2a94a46575a3166f556338"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_lifecycle_1_1_i_lifecycle_bean.html#aacd2067e2c2a94a46575a3166f556338">OnLifecycleEvent</a> (<a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_lifecycle.html#a97125ee1dd4cdb99a54f86706d41dd89">LifecycleEventType</a> evt)</td></tr>
<tr class="memdesc:aacd2067e2c2a94a46575a3166f556338"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when lifecycle event occurs.  <a href="#aacd2067e2c2a94a46575a3166f556338">More...</a><br /></td></tr>
<tr class="separator:aacd2067e2c2a94a46575a3166f556338"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>There are four events you can react to: </p><ul>
<li>
BeforeNodeStart Invoked before Ignite startup routine is initiated. Note that Ignite is not available during this event, therefore if you injected an Ignite instance via InstanceResourceAttribute attribute, you cannot use it yet.  </li>
<li>
AfterNodeStart Invoked right after Ignite has started. At this point, if you injected an Ignite instance via InstanceResourceAttribute attribute, you can start using it.  </li>
<li>
BeforeNodeStop Invoked right before Ignite stop routine is initiated. Ignite is still available at this stage, so if you injected an Ignite instance via InstanceResourceAttribute attribute, you can use it.   </li>
<li>
AfterNodeStop Invoked right after Ignite has stopped. Note that Ignite is not available during this event.  </li>
</ul>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aacd2067e2c2a94a46575a3166f556338"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Apache.Ignite.Core.Lifecycle.ILifecycleBean.OnLifecycleEvent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_lifecycle.html#a97125ee1dd4cdb99a54f86706d41dd89">LifecycleEventType</a>&#160;</td>
          <td class="paramname"><em>evt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">evt</td><td>Lifecycle event.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_apache.html">Apache</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite.html">Ignite</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite_1_1_core.html">Core</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_lifecycle.html">Lifecycle</a></li><li class="navelem"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_lifecycle_1_1_i_lifecycle_bean.html">ILifecycleBean</a></li>
    <li class="footer">Generated on Wed May 18 2016 16:44:13 for Apache Ignite.NET by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
