Aquileo | Recent changes to support-requestshttps://sourceforge.net/p/jdd/support-requests/2004-11-18T10:29:28ZRecent changes to support-requestsAquileo | jdd using up to 135mb memory2004-11-18T10:29:28Z2004-11-18T10:29:28ZMiguel De Andahttps://sourceforge.net/u/sodamnmad/https://sourceforge.net789a273f45c4d66ffaf05fef27e995f124b61690<div class="markdown_content"><p>I'm not sure if you run linux or not, but I keep my<br />
computer on for many days at a time and then after a<br />
while, it start running very slow. I checked out what<br />
was happening and found jdd using a ton of memory. Not<br />
sure if garbage collection is not being called, or if<br />
you have huge lists of stuff sticking around, but I<br />
just wanted to let you know that.</p>
<p>I downloaded jdd about 2/3 months so I'm not sure if<br />
there is a new version out. I'll try getting the<br />
current stable version and see if it makes a difference.</p>
<p>Here are my config files (most of it is commented out):</p>
<p><?xml version="1.0" encoding="UTF-8"?><br />
<jddconfig></p>
<div class="codehilite"><pre><span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="n">The</span> <span class="n">configuration</span> <span class="n">file</span> <span class="k">for</span> <span class="n">JDD</span><span class="p">.</span>
<span class="n">JDD</span> <span class="n">is</span> <span class="n">interested</span> <span class="n">in</span> <span class="n">two</span> <span class="n">things</span><span class="p">:</span> 1<span class="o">\</span><span class="p">)</span> <span class="n">how</span> <span class="n">to</span> <span class="nb">find</span> <span class="n">out</span>
</pre></div>
<p>what your IP address is, <br />
and 2) what to do when your IP address changes. <br />
"Monitors" are responsible<br />
for the former and "Updaters" are handle the latter.</p>
<div class="codehilite"><pre><span class="n">You</span> <span class="n">specify</span> <span class="n">and</span> <span class="n">configure</span> <span class="n">monitors</span> <span class="n">and</span> <span class="n">updaters</span> <span class="n">using</span>
</pre></div>
<p>XML tags. Generally, <br />
each tag represents one monitor or one updater. The<br />
name of the tag specifies<br />
one of the entries in modules.xml, while the<br />
attributes of the tag provide<br />
information to the monitor or updater.<br />
--></p>
<div class="codehilite"><pre><span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="n">Specifies</span> <span class="n">the</span> <span class="n">level</span> <span class="n">of</span> <span class="n">detail</span> <span class="n">in</span> <span class="n">the</span> <span class="n">logging</span> <span class="n">messages</span><span class="p">.</span>
<span class="n">Values</span> <span class="o">\</span><span class="p">(</span><span class="n">from</span> <span class="n">least</span> <span class="n">to</span> <span class="n">most</span> <span class="n">detail</span><span class="o">\</span><span class="p">):</span> <span class="n">FATAL</span><span class="p">,</span> <span class="n">ERROR</span><span class="p">,</span>
</pre></div>
<p>WARNING, INFO, VERBOSE, DEBUG.</p>
<div class="codehilite"><pre><span class="n">Each</span> <span class="n">subsequent</span> <span class="n">value</span> <span class="n">will</span> <span class="n">show</span> <span class="n">a</span> <span class="n">superset</span> <span class="n">of</span> <span class="n">the</span>
</pre></div>
<p>previous value's messages, so<br />
DEBUG will show all messages while ERROR will only<br />
show FATAL and ERROR messages.<br />
--><br />
<log level="DEBUG"/></p>
<div class="codehilite"><pre><span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="n">Defines</span> <span class="n">a</span> <span class="n">list</span> <span class="n">of</span> <span class="n">monitors</span> <span class="n">that</span> <span class="n">can</span> <span class="n">be</span> <span class="n">polled</span> <span class="k">for</span> <span class="n">the</span>
</pre></div>
<p>current IP address.<br />
JDD will start at the top of the list and use one<br />
monitor at a time, only<br />
moving on to the next monitor if the current one fails.</p>
<div class="codehilite"><pre><span class="n">Also</span> <span class="n">defines</span> <span class="n">a</span> <span class="n">list</span> <span class="n">of</span> <span class="n">updaters</span><span class="p">,</span> <span class="n">which</span> <span class="n">will</span> <span class="n">all</span> <span class="n">always</span>
</pre></div>
<p>be triggered when<br />
the IP address changes.</p>
<div class="codehilite"><pre><span class="n">Again</span><span class="p">,</span> <span class="n">the</span> <span class="n">monitors</span> <span class="n">will</span> <span class="n">be</span> <span class="n">used</span> <span class="n">one</span> <span class="n">at</span> <span class="n">a</span> <span class="n">time</span> <span class="o">\</span><span class="p">(</span><span class="n">only</span>
</pre></div>
<p>moving on to the next<br />
when the current one fails), but the updaters will be<br />
used in parallel.<br />
--><br />
<multimonitor></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">monitors</span> <span class="n">interval</span><span class="p">=</span>"10<span class="p">:</span>00"<span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="n">Poll</span> <span class="n">Linksys</span> <span class="n">router</span> <span class="n">at</span> 192<span class="p">.</span>168<span class="p">.</span>0<span class="p">.</span>1 <span class="k">for</span> <span class="n">IP</span> <span class="n">address</span>
</pre></div>
<p>every 30 seconds.</p>
<div class="codehilite"><pre> <span class="n">To</span> <span class="n">use</span> <span class="n">a</span> <span class="n">different</span> <span class="n">router</span> <span class="n">brand</span><span class="p">,</span> <span class="n">replace</span> <span class="n">the</span> <span class="n">element</span>
</pre></div>
<p>name "linksys" with<br />
one of the following values: linksys,<br />
watchguard-soho, netopia-r910, <br />
smc-barricade, netgear-rt3xx, maxgate-ugate3x00,<br />
3com-3c886a, sohoware-nbg800, <br />
xsense-aero, alcatel-stp, allnet-1298,<br />
3com-oc-remote812, e-tech, cayman-3220h,<br />
vigor-2200usb, dlink-614.</p>
<div class="codehilite"><pre> <span class="n">If</span> <span class="n">your</span> <span class="n">router</span> <span class="n">is</span> <span class="n">not</span> <span class="n">represented</span> <span class="n">in</span> <span class="n">that</span> <span class="n">list</span><span class="p">,</span> <span class="n">or</span>
</pre></div>
<p>doesn't work correctly,<br />
e-mail code@joecheng.com for assistance.<br />
--><br />
<!--<br />
<linksys routerAddr="192.168.0.1"<br />
password="ROUTER_PASSWORD" interval="30"/><br />
--></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">dlink</span><span class="o">-</span>614 <span class="n">routerAddr</span><span class="p">=</span>"192<span class="p">.</span>168<span class="p">.</span>0<span class="p">.</span>1" <span class="n">username</span><span class="p">=</span>"<span class="n">admin</span>"
</pre></div>
<p>password="mjunhy" interval="30"/><br />
--></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="n">Poll</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">ipcheck</span><span class="p">.</span><span class="n">dyndns</span><span class="p">.</span><span class="n">org</span> <span class="n">every</span> 7<span class="p">.</span>5 <span class="n">minutes</span><span class="p">.</span>
<span class="n">If</span> <span class="n">you</span> <span class="n">want</span> <span class="n">to</span> <span class="n">use</span> <span class="n">a</span> <span class="n">different</span> <span class="n">IP</span> <span class="n">checking</span> <span class="n">web</span> <span class="n">page</span><span class="p">,</span>
</pre></div>
<p>copy and modify the<br />
entry for web_dyndns in modules.xml. You can also<br />
replace web_dyndns with<br />
one of the following:<br />
web_shat (uses <a href="http://ipid.shat.net/iponly/\" rel="nofollow">http://ipid.shat.net/iponly/\</a>)<br />
web_whatismyip (uses <a href="http://www.whatismyip.com/\" rel="nofollow">http://www.whatismyip.com/\</a>)<br />
--><br />
<web_dyndns interval="07:30"/></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">/</span><span class="n">monitors</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">updaters</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span> <span class="k">for</span> <span class="n">a</span> <span class="n">DynDNS</span><span class="p">.</span><span class="n">org</span> <span class="s">'custom'</span> <span class="n">account</span> <span class="o">--&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">dyndns</span> <span class="n">system</span><span class="p">=</span>"<span class="n">custom</span>" <span class="n">username</span><span class="p">=</span>"<span class="n">USERNAME</span>"
</pre></div>
<p>password="PASSWORD" wildcard="false"><br />
<host>full.hostname.com</host><br />
</dyndns><br />
--></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span> <span class="k">for</span> <span class="n">a</span> <span class="n">DynDNS</span><span class="p">.</span><span class="n">org</span> <span class="s">'dynamic'</span> <span class="n">account</span> <span class="o">--&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">dyndns</span> <span class="n">system</span><span class="p">=</span>"<span class="n">dyndns</span>" <span class="n">username</span><span class="p">=</span>"<span class="o">\*\*\*\*\*</span>"
</pre></div>
<p>password="*****" wildcard="false"><br />
<host>*****.homelinux.org</host><br />
</dyndns></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span> <span class="k">for</span> <span class="n">a</span> <span class="n">dynu</span><span class="p">.</span><span class="n">com</span> <span class="s">'basic'</span> <span class="n">account</span> <span class="o">--&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">dynu</span> <span class="n">service</span><span class="p">=</span>"<span class="n">basic</span>" <span class="n">first</span><span class="p">=</span>"<span class="n">com</span>" <span class="n">domain</span><span class="p">=</span>"<span class="n">joecheng</span>"
</pre></div>
<p>password="joecheng"/><br />
--></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span> <span class="k">for</span> <span class="n">a</span> <span class="n">dynu</span><span class="p">.</span><span class="n">com</span> <span class="s">'premium'</span> <span class="n">account</span> <span class="o">--&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">dynu</span> <span class="n">service</span><span class="p">=</span>"<span class="n">premium</span>" <span class="n">first</span><span class="p">=</span>"<span class="n">com</span>"
</pre></div>
<p>second="joecheng" password="joecheng"/><br />
--></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">/</span><span class="n">updaters</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">/</span><span class="n">multimonitor</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="n">If</span> <span class="n">you</span> <span class="n">don</span><span class="o">'</span><span class="n">t</span> <span class="n">want</span> <span class="n">to</span> <span class="n">take</span> <span class="n">advantage</span> <span class="n">of</span> <span class="n">multimonitor</span><span class="o">'</span><span class="n">s</span>
</pre></div>
<p>ability to use<br />
a while list of monitors, and just want to use a<br />
single monitor, you<br />
can specify it by itself and nest some updaters inside<br />
the body, as<br />
shown below.<br />
--><br />
<!--<br />
<linksys routerAddr="192.168.0.1"<br />
password="ROUTER_PASSWORD" interval="30"><br />
<updaters></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">dyndns</span> <span class="n">system</span><span class="p">=</span>"<span class="n">dyndns</span>" <span class="n">username</span><span class="p">=</span>"<span class="n">test</span>"
</pre></div>
<p>password="test" wildcard="false"><br />
<host>test.dyndns.org</host><br />
</dyndns></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">testupdater</span><span class="o">/&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">/</span><span class="n">updaters</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">/</span><span class="n">linksys</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">\--&</span><span class="n">gt</span><span class="p">;</span>
</pre></div>
<p></jddconfig></p>
<p><?xml version="1.0" encoding="UTF-8"?><br />
<modules></p>
<div class="codehilite"><pre><span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span>
<span class="n">This</span> <span class="n">file</span> <span class="n">specifies</span> <span class="n">the</span> <span class="n">different</span> <span class="n">types</span> <span class="n">of</span> <span class="n">monitors</span>
</pre></div>
<p>and updaters that<br />
can be referred to in config.xml. The "module"<br />
element's "name" attribute<br />
is the name of the corresponding XML element in<br />
config.xml.</p>
<div class="codehilite"><pre><span class="n">Unless</span> <span class="n">you</span> <span class="n">are</span> <span class="n">creating</span> <span class="n">a</span> <span class="n">new</span> <span class="n">type</span> <span class="n">of</span> <span class="n">monitor</span> <span class="n">or</span>
</pre></div>
<p>updater, you should not <br />
need to make any changes to this file.<br />
--></p>
<div class="codehilite"><pre><span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">monitors</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">module</span> <span class="n">name</span><span class="p">=</span>"<span class="n">testmonitor</span>"
</pre></div>
<p>classname="org.jdd.monitor.TestMonitor"/></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">module</span> <span class="n">name</span><span class="p">=</span>"<span class="n">multimonitor</span>"
</pre></div>
<p>classname="org.jdd.monitor.MultiMonitor"/></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span> <span class="n">begin</span> <span class="n">web</span> <span class="n">IP</span> <span class="n">monitors</span> <span class="o">--&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">module</span> <span class="n">name</span><span class="p">=</span>"<span class="n">web</span><span class="o">\</span><span class="n">_shat</span>"
</pre></div>
<p>classname="org.jdd.monitor.WebAddrMonitor"><br />
<param name="href"<br />
value="http://ipid.shat.net/iponly/" skip=""/><br />
</module><br />
<module name="web_dyndns"<br />
classname="org.jdd.monitor.WebAddrMonitor"><br />
<param name="href" value="http://checkip.dyndns.org"<br />
skip="IP Address:"/><br />
</module><br />
<module name="web_whatismyip"<br />
classname="org.jdd.monitor.WebAddrMonitor"><br />
<param name="href"<br />
value="http://www.whatismyip.com/" skip="Your IP is"/><br />
</module><br />
<!-- end web IP monitors --></p>
<div class="codehilite"><pre> <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">\</span>!<span class="o">--</span> <span class="n">begin</span> <span class="n">broadband</span> <span class="n">router</span> <span class="n">monitors</span> <span class="o">--&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">module</span> <span class="n">name</span><span class="p">=</span>"<span class="n">linksys</span>"
</pre></div>
<p>classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/Status.htm"/><br />
<param name="skip" value="WAN:"/><br />
</module><br />
<!-- the following definitions are copied from Paul<br />
Burry's ddclient --><br />
<module name="watchguard-soho"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/pubnet.htm"/><br />
<param name="skip" value="NAME=IPAddress VALUE="/><br />
</module><br />
<module name="netopia-r910"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/WanEvtLog"/><br />
<param name="skip" value="local:"/><br />
</module><br />
<module name="smc-barricade"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/status.htm"/><br />
<param name="skip" value="IP Address"/><br />
</module><br />
<module name="netgear-rt3xx"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/mtenSysStatus.html"/><br />
<param name="skip" value="IP Address"/><br />
</module><br />
<module name="maxgate-ugate3x00"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/Status.htm"/><br />
<param name="skip" value="WAN"/><br />
</module><br />
<module name="3com-3c886a"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/stat3.htm"/><br />
<param name="skip" value="IP address in use"/><br />
</module><br />
<module name="sohoware-nbg800"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/status.htm"/><br />
<param name="skip" value="Internet IP"/><br />
</module><br />
<module name="xsense-aero"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/A_SysInfo.htm"/><br />
<param name="skip" value="WAN"/><br />
</module><br />
<module name="alcatel-stp"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/cgi/router/"/><br />
<param name="skip" value="Brt"/><br />
</module><br />
<module name="allnet-1298"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/cgi/router/"/><br />
<param name="skip" value="WAN"/><br />
</module><br />
<module name="3com-oc-remote812"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/callEvent"/><br />
<param name="skip" value="IP address in use"/><br />
</module><br />
<module name="e-tech"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/Status.htm"/><br />
<param name="skip" value="Public IP Address"/><br />
</module><br />
<module name="cayman-3220h"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/shell/show+ip+interfaces"/><br />
<param name="skip" value="inet"/><br />
</module><br />
<module name="vigor-2200usb"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/doc/online.sht"/><br />
<param name="skip" value="PPPoA"/><br />
</module><br />
<module name="dlink-614"<br />
classname="org.jdd.monitor.BroadbandRouterAddrMonitor"><br />
<param name="url" value="/st_devic.html"/><br />
<param name="skip" value="WAN"/><br />
</module><br />
<!-- end broadband router monitors --><br />
</monitors></p>
<div class="codehilite"><pre><span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">updaters</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span>
<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">module</span> <span class="n">name</span><span class="p">=</span>"<span class="n">dyndns</span>"
</pre></div>
<p>classname="org.jdd.updater.DynDnsUpdater"/><br />
<module name="dynu"<br />
classname="org.jdd.updater.DynuUpdater"/><br />
<module name="testupdater"<br />
classname="org.jdd.updater.TestUpdater"/><br />
</updaters><br />
</modules></p></div>