<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>FileWatchdog xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/FileWatchdog.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * </em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * </em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  
<a name="18" href="#18">18</a>  <em class="jxr_comment">// Contributors:  Mathias Bogaert</em>
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a name="23" href="#23">23</a>  
<a name="24" href="#24">24</a>  <em class="jxr_javadoccomment">/**</em>
<a name="25" href="#25">25</a>  <em class="jxr_javadoccomment">   Check every now and then that a certain file has not changed. If it</em>
<a name="26" href="#26">26</a>  <em class="jxr_javadoccomment">   has, then call the {@link #doOnChange} method.</em>
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment">   @author Ceki G&amp;uuml;lc&amp;uuml;</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment">   @since version 0.9.1 */</em>
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/FileWatchdog.html">FileWatchdog</a> <strong class="jxr_keyword">extends</strong> Thread {
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>    <em class="jxr_javadoccomment">/**</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">     The default delay between every file modification check, set to 60</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">     seconds.  */</em>
<a name="36" href="#36">36</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> DEFAULT_DELAY = 60000; 
<a name="37" href="#37">37</a>    <em class="jxr_javadoccomment">/**</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment">     The name of the file to observe  for changes.</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">   */</em>
<a name="40" href="#40">40</a>    <strong class="jxr_keyword">protected</strong> String filename;
<a name="41" href="#41">41</a>    
<a name="42" href="#42">42</a>    <em class="jxr_javadoccomment">/**</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">     The delay to observe between every check. By default set {@link</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">     #DEFAULT_DELAY}. */</em>
<a name="45" href="#45">45</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> delay = DEFAULT_DELAY; 
<a name="46" href="#46">46</a>    
<a name="47" href="#47">47</a>    File file;
<a name="48" href="#48">48</a>    <strong class="jxr_keyword">long</strong> lastModif = 0; 
<a name="49" href="#49">49</a>    <strong class="jxr_keyword">boolean</strong> warnedAlready = false;
<a name="50" href="#50">50</a>    <strong class="jxr_keyword">boolean</strong> interrupted = false;
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>    <strong class="jxr_keyword">protected</strong>
<a name="53" href="#53">53</a>    <a href="../../../../org/apache/log4j/helpers/FileWatchdog.html">FileWatchdog</a>(String filename) {
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"FileWatchdog"</span>);
<a name="55" href="#55">55</a>      <strong class="jxr_keyword">this</strong>.filename = filename;
<a name="56" href="#56">56</a>      file = <strong class="jxr_keyword">new</strong> File(filename);
<a name="57" href="#57">57</a>      setDaemon(<strong class="jxr_keyword">true</strong>);
<a name="58" href="#58">58</a>      checkAndConfigure();
<a name="59" href="#59">59</a>    }
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>    <em class="jxr_javadoccomment">/**</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     Set the delay to observe between each check of the file changes.</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">   */</em>
<a name="64" href="#64">64</a>    <strong class="jxr_keyword">public</strong>
<a name="65" href="#65">65</a>    <strong class="jxr_keyword">void</strong> setDelay(<strong class="jxr_keyword">long</strong> delay) {
<a name="66" href="#66">66</a>      <strong class="jxr_keyword">this</strong>.delay = delay;
<a name="67" href="#67">67</a>    }
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>    <strong class="jxr_keyword">abstract</strong> 
<a name="70" href="#70">70</a>    <strong class="jxr_keyword">protected</strong> 
<a name="71" href="#71">71</a>    <strong class="jxr_keyword">void</strong> doOnChange();
<a name="72" href="#72">72</a>  
<a name="73" href="#73">73</a>    <strong class="jxr_keyword">protected</strong>
<a name="74" href="#74">74</a>    <strong class="jxr_keyword">void</strong> checkAndConfigure() {
<a name="75" href="#75">75</a>      <strong class="jxr_keyword">boolean</strong> fileExists;
<a name="76" href="#76">76</a>      <strong class="jxr_keyword">try</strong> {
<a name="77" href="#77">77</a>        fileExists = file.exists();
<a name="78" href="#78">78</a>      } <strong class="jxr_keyword">catch</strong>(SecurityException  e) {
<a name="79" href="#79">79</a>        LogLog.warn(<span class="jxr_string">"Was not allowed to read check file existance, file:["</span>+
<a name="80" href="#80">80</a>  		  filename+<span class="jxr_string">"]."</span>);
<a name="81" href="#81">81</a>        interrupted = <strong class="jxr_keyword">true</strong>; <em class="jxr_comment">// there is no point in continuing</em>
<a name="82" href="#82">82</a>        <strong class="jxr_keyword">return</strong>;
<a name="83" href="#83">83</a>      }
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>      <strong class="jxr_keyword">if</strong>(fileExists) {
<a name="86" href="#86">86</a>        <strong class="jxr_keyword">long</strong> l = file.lastModified(); <em class="jxr_comment">// this can also throw a SecurityException</em>
<a name="87" href="#87">87</a>        <strong class="jxr_keyword">if</strong>(l &gt; lastModif) {           <em class="jxr_comment">// however, if we reached this point this</em>
<a name="88" href="#88">88</a>  	lastModif = l;              <em class="jxr_comment">// is very unlikely.</em>
<a name="89" href="#89">89</a>  	doOnChange();
<a name="90" href="#90">90</a>  	warnedAlready = false;
<a name="91" href="#91">91</a>        }
<a name="92" href="#92">92</a>      } <strong class="jxr_keyword">else</strong> {
<a name="93" href="#93">93</a>        <strong class="jxr_keyword">if</strong>(!warnedAlready) {
<a name="94" href="#94">94</a>  	LogLog.debug(<span class="jxr_string">"["</span>+filename+<span class="jxr_string">"] does not exist."</span>);
<a name="95" href="#95">95</a>  	warnedAlready = <strong class="jxr_keyword">true</strong>;
<a name="96" href="#96">96</a>        }
<a name="97" href="#97">97</a>      }
<a name="98" href="#98">98</a>    }
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>   <strong class="jxr_keyword">public</strong>
<a name="101" href="#101">101</a>   <strong class="jxr_keyword">void</strong> run() {    
<a name="102" href="#102">102</a>     <strong class="jxr_keyword">while</strong>(!interrupted) {
<a name="103" href="#103">103</a>       <strong class="jxr_keyword">try</strong> {
<a name="104" href="#104">104</a> 	    Thread.sleep(delay);
<a name="105" href="#105">105</a>       } <strong class="jxr_keyword">catch</strong>(InterruptedException e) {
<a name="106" href="#106">106</a> 	<em class="jxr_comment">// no interruption expected</em>
<a name="107" href="#107">107</a>       }
<a name="108" href="#108">108</a>       checkAndConfigure();
<a name="109" href="#109">109</a>     }
<a name="110" href="#110">110</a>   }
<a name="111" href="#111">111</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

