geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jdil...@apache.org
Subject svn commit: r507826 [23/26] - in /geronimo/sandbox/build-support/libraries/jsw: ./ 3.2.3/ 3.2.3/bin/ 3.2.3/conf/ 3.2.3/doc/ 3.2.3/doc/english/ 3.2.3/doc/english/images/ 3.2.3/doc/english/style/ 3.2.3/jdoc/ 3.2.3/lib/ 3.2.3/logs/ 3.2.3/src/ 3.2.3/src/bi...
Date Thu, 15 Feb 2007 05:48:58 GMT
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/english/release-notes.html
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/english/release-notes.html?view=auto&rev=507826
==============================================================================
--- geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/english/release-notes.html (added)
+++ geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/english/release-notes.html Wed Feb 14 21:48:50 2007
@@ -0,0 +1,4470 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Java Service Wrapper - Java Service Wrapper Release Notes</title>
+<style media="all" type="text/css">
+            @import url("./style/wrapper.css");
+        </style>
+</head>
+<body bgcolor="#eeeeff" marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
+<map name="wrapperLogo">
+<area href="http://wrapper.tanukisoftware.org" coords="90,90,88" shape="circle">
+</map>
+<map name="wrapperTitle">
+<area href="http://www.tanukisoftware.com" coords="28,32,176,48" shape="rect">
+</map>
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td valign="top" width="180">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td width="180"><img usemap="#wrapperLogo" border="0" height="180" width="180" src="images/WrapperLogo.png"></td>
+</tr>
+<tr>
+<td>
+<table cellpadding="4" cellspacing="0" width="100%" border="0">
+<tr>
+<td nowrap="true">
+<div id="menu">
+<script language="JavaScript">//@@MENU_TOP@@</script>
+<div>
+<b>Essentials</b>
+<div>
+<a href="introduction.html">Introduction</a>
+</div>
+<div>
+<a href="integrate.html">Integration Methods</a>
+</div>
+<div>
+<a href="properties.html">Configuration Properties</a>
+</div>
+<div>
+<a href="launch.html">Launching Your Application</a>
+</div>
+<div>
+<b>
+                        &gt;&gt;
+                        <a href="donate.html">Show Your Support</a>
+                        &lt;&lt;
+                    </b>
+</div>
+<div>
+<a href="sponsors.html">Sponsors</a>
+</div>
+</div>
+<div>
+<b>Documentation</b>
+<div>
+<a href="jmx.html">JMX Control</a>
+</div>
+<div>
+<a href="security-model.html">Security Model</a>
+</div>
+<div>
+<a href="example.html">Feature Examples</a>
+</div>
+<div>
+<a href="debugging.html">Debugging Your Application</a>
+</div>
+<div>
+<a href="troubleshooting.html">Troubleshooting</a>
+</div>
+<div>
+<a href="faq.html">FAQ</a>
+</div>
+<div>
+<a href="release-notes.html">Release Notes</a>
+</div>
+<div>
+<a href="history.html">Project History</a>
+</div>
+<div>
+<a href="javadocs.html">Javadocs API</a>
+</div>
+<div>
+<a href="buttons.html">Buttons</a>
+</div>
+<div>
+<a href="authors.html">Authors</a>
+</div>
+<div>
+<a href="license.html">License</a>
+</div>
+</div>
+<div>
+<b>Download</b>
+<div>
+<a href="http://sourceforge.net/project/showfiles.php?group_id=39428&package_id=31591">Binaries</a>
+</div>
+<div>
+<a href="http://sourceforge.net/project/showfiles.php?group_id=39428&package_id=33658">Source Code</a>
+</div>
+</div>
+<div>
+<b>Get Involved</b>
+<div>
+<a href="http://sourceforge.net/projects/wrapper/">Source Forge</a>
+</div>
+<div>
+<a href="http://svn.sourceforge.net/viewvc/wrapper/">Subversion Repository</a>
+</div>
+<div>
+<a href="http://sourceforge.net/tracker/?group_id=39428">Issue Tracking</a>
+</div>
+<div>
+<a href="http://sourceforge.net/mail/?group_id=39428">Mailing Lists and Archives</a>
+</div>
+<div>
+<a href="http://sourceforge.net/forum/?group_id=39428">Forums (Old)</a>
+</div>
+</div>
+</div>
+<script language="JavaScript">//@@MENU_BOTTOM@@</script>
+<p>
+<b>Hosted by:</b>
+<br>
+<a href="http://sourceforge.net/projects/wrapper/"><img alt="SourceForge" border="0" height="31" width="88" src="http://sourceforge.net/sflogo.php?group_id=39428"></a>
+<br>
+</p>
+</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</td><td valign="top" width="*">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td colspan="3"><img height="4" src="images/spacer.gif"></td>
+</tr>
+<tr>
+<td align="center" height="90" colspan="2"><a href="http://wrapper.tanukisoftware.org"><img border="0" height="90" width="728" src="images/OfflineAd728x90.png"></a></td><td rowspan="5"><img width="4" src="images/spacer.gif"></td>
+</tr>
+<tr>
+<td height="49" width="435"><img usemap="#wrapperTitle" border="0" height="49" width="435" src="images/WrapperTitle.png"></td><td valign="bottom" align="right" width="*"><a href="donate.html"><img border="0" height="16" width="300" src="images/DonationRequest.png"></a></td>
+</tr>
+<tr>
+<td height="4" colspan="2"><img height="4" width="500" src="images/BorderTop.png"></td>
+</tr>
+<tr>
+<td colspan="2">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td valign="top" width="4"><img height="496" width="4" src="images/BorderLeft.png"></td><td bgcolor="#ffffff" valign="top" width="*" colspan="2">
+<table cellpadding="4" cellspacing="0" width="100%" border="0">
+<tr>
+<td nowrap="true" align="center"><font zcolor="#115b77" color="#8888aa" size="5"><b>Java Service Wrapper Release Notes</b></font></td>
+</tr>
+<tr>
+<td>
+<title>Java Service Wrapper Release Notes</title>
+    
+    
+<a name="3.2.3"></a>
+<table cellpadding="2" cellspacing="0" width="100%" border="0">
+<tr>
+<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>Version 3.2.3: Changes and bug fixes</b></font></td>
+</tr>
+<tr>
+<td><img height="4" width="1" src="./images/spacer.gif"></td>
+</tr>
+<tr>
+<td>
+        
+        
+<ul>
+            
+<li>
+                
+<p>
+                    Add support for x86 Mac OS X distributions.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    The 3.2.2 Windows version was accidentally released with its MFC libraries
+                    dynamically linked.  This meant that anyone who did not have VS8 installed
+                    were not able to run the Wrapper due to missing DLLs.  This version fixes
+                    that snafu by correctly using statically linked libraries as was done in
+                    previous versions built with VS6.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1578554&group_id=39428&atid=425187">Bug #1578554</a>.
+                </p>
+            
+</li>
+        
+</ul>
+    
+</td>
+</tr>
+</table>
+    
+<a name="3.2.2"></a>
+<table cellpadding="2" cellspacing="0" width="100%" border="0">
+<tr>
+<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>Version 3.2.2: Changes and bug fixes</b></font></td>
+</tr>
+<tr>
+<td><img height="4" width="1" src="./images/spacer.gif"></td>
+</tr>
+<tr>
+<td>
+        
+        
+<ul>
+            
+<li>
+                
+<p>
+                    Correct a typo in the usage output of the WrapperStartStopApp.  Thanks to
+                    Michael Giroux for pointing it out.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem on OSF1 systems where the backend socket was not listening
+                    correctly due to a backlog of 0.  This was broken in 3.2.0.  Thanks to
+                    Phillip Gussow for supplying a patch.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Remove the com.silveregg.wrapper package classes that were deprecated in
+                    version 3.0.0.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a potential problem in the UNIX script where the lock file permissions
+                    were not being set correctly if the LOCKFILE and RUN_AS_USER variables are
+                    specified but the group of the specified user could not be resolved.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the exit code returned by WrapperListener.stop was being
+                    ignored in some cases.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the shell script would not work correctly when the
+                    wrapper or its configuration files were located in a directory path
+                    containing spaces.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Apply a series of patches by Michael Saya to get the Windows 64 bit build
+                    working.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem in UNIX versions where the TERM signal handler was being
+                    disabled when a CHLD signal was received.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added support in UNIX versions for the HUP signal.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added a new
+                    <a href="prop-signal-mode-hup.html">wrapper.signal.mode.hup</a>
+                    property to let the user control what
+                    happens when the Wrapper process receives an HUP signal
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Migrated the source to Subversion from CVS.  Did a bunch of cleanup in the
+                    source, removing CVS specific tags.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem in UNIX versions were the pid file specified by the
+                    <a href="prop-java-pidfile.html">wrapper.java.pidfile</a>
+                    property contained the wrapper pid rather than the
+                    jvm pid.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1565011&group_id=39428&atid=425187">Bug #1565011</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem in UNIX versions where the file specified by the
+                    <a href="prop-java-pidfile.html">wrapper.java.pidfile</a>
+                    property was not always being deleted when the JVM
+                    process went away.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    A user encountered a JVM bug where calls to System.exit were resulting in
+                    an IllegalThreadStateException being thrown.  Added some code to trap this
+                    and shut down the JVM using other means to avoid a hang during shutdown.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a NullPointerException caused by users incorrectly implementing
+                    an Integration Method #3 class and then calling WrapperManager.start with
+                    a null value for the args parameter.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Update the banner displayed by the Wrapper on startup to include a
+                    copyright notice.  Please see the
+                    <a href="license.html">license</a> page of the documentation
+                    for details.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new 'Z' log format which will log the time to millisecond accuracy.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the JVM exit code was not being set correctly when
+                    the JVM was shutdown using WrapperManager.stopImmediate().  The exit code
+                    of the Wrapper was being set correctly through other means however.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a potential synchronization problem in the logging code if a JVM exits
+                    with debug output enabled.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Updated the WrapperListener.stop method javadocs to better explain the
+                    exitCode value under certain exit modes.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    On UNIX versions, add a log message which records the signal that caused
+                    the JVM process to exit when it terminates unexpectedly.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the
+                    <a href="prop-on-exit-n.html">wrapper.on_exit.&lt;n&gt;</a>
+                    property was not working correctly in some cases on UNIX.  With help
+                    from Andreas Schafer.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for building the Wrapper with Visual Studio 8 for Windows.
+                    Releases will now be done using this compiler.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a CRITICAL bug in the 3.2.0 and 3.2.1 Windows versions of the Wrapper
+                    where the Wrapper would crash under rare circumstances when running as a
+                    service.  If the service manager interrogated the service at the same
+                    instant as the wrapper was pinging the JVM, the wrapper was sometimes
+                    crashing due to a synchronization problem.   The problem did not exist
+                    prior to 3.2.0.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1574537&group_id=39428&atid=425187">Bug #1574537</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a minor logging problem where the 'D' format was not displaying the
+                    correct thread name for queued log messages.
+                </p>
+            
+</li>
+        
+</ul>
+    
+</td>
+</tr>
+</table>
+    
+<a name="3.2.1"></a>
+<table cellpadding="2" cellspacing="0" width="100%" border="0">
+<tr>
+<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>Version 3.2.1: Changes and bug fixes</b></font></td>
+</tr>
+<tr>
+<td><img height="4" width="1" src="./images/spacer.gif"></td>
+</tr>
+<tr>
+<td>
+        
+        
+<ul>
+            
+<li>
+                
+<p>
+                    Fix a problem with the solaris-sparc-64 makefile.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a solaris-x86-64 makefile.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Merge in a patch by Hugo Weber to make it possible to configure the Wrapper
+                    to pull the JRE from the system registry on windows.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a batch file bug added in 3.2.0 where the scripts would not function
+                    correctly if the full path to the batch file contained spaces.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1450601&group_id=39428&atid=425187">Bug #1450601</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the message shown when a native library fails to load so the
+                    exception message text is now shown in the log without having to enable
+                    debug log output.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the UNIX shell script to be more informative if the script is unable
+                    to locate a wrapper binary due to a executable bit permission problem.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a minor permission problem with the build for the delta-pack.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Commit a patch by Juergen Hermann to make the error shown when realpath
+                    fails clearer.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add the ability to use a default wrapper.conf file that is in the same
+                    directory as the wrapper binary.  The file will be named based on the
+                    name of the wrapper binary.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Synchronize the command line so that both the Windows and UNIX versions
+                    are now the same.  The old command line syntaxes are now supported
+                    everywhere so there will be no compatibility problems.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    It is no longer possible to specify arguments using the '/c' syntax.
+                    This was undocumented so hopefully it is not being used.  The documented
+                    '-c' syntax must now be used.  The change was necessary to synchronize
+                    the command line between UNIX and windows platforms.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    The 32-bit HP-UX 3.2.0 build was generating a libwrapper.so file rather
+                    than libwrapper.sl.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Make the WrapperManager.setConsoleTitle, getWrapperPID, and getJavaPID
+                    methods available through JMX.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a state engine problem introduced in 3.2.0 which was causing the
+                    <a href="prop-on-exit-n.html">wrapper.on_exit.&lt;n&gt;</a>
+                    properties to be ignored in most cases.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a potential problem that could have caused crashes when debug logging
+                    was enabled.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where signals were not being handled correctly on some UNIX
+                    platforms, including AIX.  This was making it impossible to shutdown the
+                    wrapper cleanly with the TERM signal.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1477619&group_id=39428&atid=425187">Bug #1477619</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add new <a href="props-envvars.html#default-definitions">default environment variables</a>
+                    which can be referenced in a configuration file to configure platform
+                    specific directories and file names.  WRAPPER_OS, WRAPPER_ARCH, and
+                    WRAPPER_BITS.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a -v argument to make it possible to request the version from a wrapper
+                    binary.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for registering the WrapperManager MBean with the
+                    PlatformMBeanServer when run on a 1.5+ JVM.  See the
+                    <a href="jmx.html">JMX</a> section in the documentation for details.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Rework the way timeout properties are handled.  Values of 0 now actually
+                    disable the timeouts rather than setting them to a large value.  To avoid
+                    overflow problems when converting to internal timer ticks, timeouts are now
+                    restricted to a maximum of 20 days, or 1728000 seconds.  Change affects the
+                    <a href="prop-cpu-timeout.html">wrapper.cpu.timeout</a>,
+                    <a href="prop-startup-timeout.html">wrapper.startup.timeout</a>,
+                    <a href="prop-ping-timeout.html">wrapper.ping.timeout</a>,
+                    <a href="prop-shutdown-timeout.html">wrapper.shutdown.timeout</a>,
+                    and <a href="prop-jvm-exit-timeout.html">wrapper.jvm_exit.timeout</a>
+                    properties.  For values less than 20 days, there should be no change in
+                    functionality.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for debuggers.  The Wrapper will now show a warning on startup
+                    and then again the first time a timeout occurs.  But all timeouts will be
+                    ignored.  This is to avoid problems with the Wrapper restarting a suspended
+                    JVM in the middle of a debugging session.  The wrapper enters this mode if
+                    the <a href="prop-java-command.html">wrapper.java.command</a> ends
+                    with the string "jdb" or "jdb.exe", or the "-Xdebug" parameter is passed to
+                    the JVM.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add 'athlon' to the list of supported architectures.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the environment variables loaded when a service was
+                    started were always the system environment even if the service was running
+                    as a specific account.  The environment of a specific account will now be
+                    loaded on top of the system environment if the USERNAME environment
+                    variable is set by the system.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1491138&group_id=39428&atid=425187">Bug #1491138</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added new <a href="prop-ntservice-pausable.html">wrapper.ntservice.pausable</a>
+                    <a href="prop-ntservice-pausable-stop-jvm.html">wrapper.ntservice.pausable.stop_jvm</a>
+                    properties to make it possible to pause and resume the Wrapper when installed
+                    as a Windows service.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added new Pause and Resume batch files as well as modified the command batch
+                    file to support pause and resume.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added PAUSE and RESUME commands for use by the
+                    <a href="prop-commandfile.html">wrapper.commandfile</a> property.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem with the <a href="prop-pidfile.html">wrapper.pidfile</a>,
+                    <a href="prop-java-pidfile.html">wrapper.java.pidfile</a>,
+                    <a href="prop-anchorfile.html">wrapper.anchorfile</a>,
+                    <a href="prop-commandfile.html">wrapper.commandfile</a>,
+                    <a href="prop-statusfile.html">wrapper.statusfile</a>,
+                    <a href="prop-java-statusfile.html">wrapper.java.statusfile</a>,
+                    <a href="prop-java-idfile.html">wrapper.java.idfile</a>,
+                    and <a href="prop-umask.html">wrapper.lockfile.umask</a>
+                    properties where forward slashes in paths were not being changed to back
+                    slashes on Windows versions.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Simplify the code used to load a native library by using the
+                    System.mapLibraryName method rather than doing the same thing manually.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-syslog-facility.html">wrapper.syslog.facility</a>
+                    property which makes it possible to specify the syslog facility on UNIX systems.
+                    Thanks for the patch from Bruce Pennypacker.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Removed the custom thread counting used to keep track of when the wrapped
+                    Java application has completed.  It is now done in a different way that
+                    will work on all Java implementations without requiring any special
+                    consideration of the current JVM.   Deprecated the
+                    <a href="prop-monitor-thread-count.html">wrapper.monitor_thread_count</a>
+                    and <a href="prop-thread-count-delay.html">wrapper.thread_count_delay</a>
+                    properties.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1470265&group_id=39428&atid=425187">Bug #1470265</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    The <a href="javadocs.html">WrapperStartStopApp helper class</a> still
+                    requires thread counting if the stopWait parameter is set to true.  Previous
+                    versions all hard coded the system thread count to 1 which worked for most
+                    JVMs.  A new system property,
+                    org.tanukisoftware.wrapper.WrapperStartStopApp.systemThreadCount, was added
+                    to make it possible to customize.  It currently defaults to 1.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Make it possible to extend the WrapperSimpleApp and WrapperStartStopApp
+                    helper classes.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1510274&group_id=39428&atid=425190">Feature Request #1510274</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add warning messages if the old org.silveregg.wrapper package classes are
+                    still being used.  They will be removed in the next release.
+                </p>
+            
+</li>
+        
+</ul>
+    
+</td>
+</tr>
+</table>
+    
+<a name="3.2.0"></a>
+<table cellpadding="2" cellspacing="0" width="100%" border="0">
+<tr>
+<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>Version 3.2.0: Changes and bug fixes</b></font></td>
+</tr>
+<tr>
+<td><img height="4" width="1" src="./images/spacer.gif"></td>
+</tr>
+<tr>
+<td>
+        
+        
+<ul>
+            
+<li>
+                
+<p>
+                    Rework the release cycle so that the wrapper.jar file released for all
+                    platforms is now built on the same machine.  This resolves a few
+                    incompatibility problems caused by jars built on very new JVMs but run
+                    on old JVMs.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add additional output when the JVM can not be launched due to security
+                    restrictions on Windows.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Greatly improved the performance of file logging.  On a windows test machine
+                    3.1.2 could log 67210 lines of output in 20 seconds with a 80-15% split
+                    between the Wrapper and JVM process CPU usage.  It now outputs 215214 lines
+                    with a 64-34% split, also showing less load on the system process.  This is
+                    a 220% increase in performance.  In both cases, the JVM was completely idle
+                    other than the console output which makes the Wrapper appear to be a bit of
+                    a CPU hog.  In fact it is the only process doing any work in this case.
+                    This improvement was accomplished by keeping the log file open unless idle.
+                    The idle time can be controlled using the new
+                    <a href="prop-logfile-inactivity-timeout.html">wrapper.logfile.inactivity.timeout</a>
+                    property.  The speed increase on UNIX platforms was much smaller at around 10%.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new property, <a href="prop-disable-restarts.html">wrapper.disable_restarts</a>,
+                    which will completely disable the Wrapper's ability to restart JVMs.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a pair of new properties, <a href="prop-port.html">wrapper.port.min</a>
+                    and <a href="prop-port.html">wrapper.port.max</a>, which make it
+                    possible to define the port range used when a specific
+                    <a href="prop-port.html">wrapper.port</a> is not specified.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where certain characters like umlauts were being stripped from
+                    property values.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1049528&group_id=39428&atid=425187">Bug #1049528</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Make the PIDs of the Wrapper and Java process easier to access by providing
+                    a new pair os system properties; wrapper.pid and wrapper.java.pid, as well
+                    as a new pair of methods;
+                    <a href="javadocs.html">WrapperManager.getWrapperPID()</a> and
+                    <a href="javadocs.html">WrapperManager.getJavaPID()</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="javadocs.html">WrapperEventListener</a> class which
+                    can be implemented to receive a wide variety of events from the Wrapper.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a <a href="javadocs.html">WrapperServiceControlEvent</a> class which
+                    will report any service control codes received by the Wrapper as it is running
+                    as an NT service.   This was added to make it possible for other applications
+                    to sent custom codes to the Wrapper using the Window Service Manager.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a <a href="javadocs.html">WrapperManager.listServices()</a> method
+                    which can be used to obtain thestatus of all services on a Windows system.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a <a href="javadocs.html">WrapperManager.sendServiceControlCode()</a>
+                    method which makes it possible to start, stop, pause, continue, any service on
+                    Windows systems.  It is alsopossible to send custom user codes via the service
+                    manager.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add comments in the sh script to support the chkconfig command.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Implement the ability to read from standard input via System.in.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1024693&group_id=39428&atid=425190">Feature Request #1024693</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Made the tick based timer the default by changing the default value of the
+                    <a href="prop-use-system-time.html">wrapper.use_system_time</a>
+                    property to false.  Most users should see an
+                    improvement in reliability under heavy loads with this new setting.  If you
+                    have extended any timeouts in the past, you may wish to try going back to
+                    defaults as they may no longer need to be extended.  
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-restart-reload-configuration.html">wrapper.restart.reload_configuration</a>
+                    property which causes the Wrapper to reload its configuration file immediately
+                    before a JVM restart.  Properties which can not be reloaded have comments
+                    stating that fact in their documentation.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=981060&group_id=39428&atid=425190">Feature Request #981060</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem in the UNIX shell script which was preventing the script from
+                    locating the PID and anchor files when the
+                    <a href="prop-working-dir.html">wrapper.working.dir</a> property was
+                    used.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify UNIX versions so that the wrapper binary will now force its working
+                    directory to the location of the wrapper binary.   This change was made to
+                    make the UNIX version work the same way as the Windows version and thus make
+                    configuration files that modify their working directory work correctly on
+                    a cross platform basis.  Users which have been using the scripts supplied
+                    with the Wrapper should not encounter any problems.  Other users may require
+                    slight changes to their configuration file to deal with the new way that the
+                    Wrapper deals with its initial working directory.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new method <a href="javadocs.html">WrapperManager.getProperties()</a>
+                    which makes it possible to access any property in the Wrapper configuration
+                    file.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where TERM signals were not being correctly ignored by the
+                    JVM process on UNIX platforms even if the
+                    <a href="prop-ignore-signals.html">wrapper.ignore_signals</a> property
+                    was set to true.   Earlier versions of the Wrapper would generate a
+                    WRAPPER_CTRL_SHUTDOWN_EVENT when a TERM signal was received.   On Windows
+                    that signal should never be ignored.  To resolve this a new
+                    WRAPPER_CTRL_TERM_EVENT was added making it possible to selectively ignore
+                    the TERM signals.  This change may affect user implementations of the
+                    <a href="javadocs.html">WrapperListener.controlEvent()</a> method.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1086344&group_id=39428&atid=425187">Bug #1086344</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    The Windows version has a feature which allows the user to immediately kill
+                    the Wrapper and its Java application without waiting for a clean shutdown
+                    by pressing CTRL-C twice.  Windows sends the CTRL-C signal to both the
+                    Wrapper and Java processes.  Due to a rare timing problem, it was possible
+                    for the Java process to get the signal first and initialize a shutdown
+                    before the Wrapper could respond to the signal.  In this case the Wrapper
+                    was interpreting this as a second CTRL-C signal even though the user only
+                    pressed it once.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    If the wrapper.anchorfile or wrapper.pidfile properties are used on Windows
+                    they were being unintentionally deleted if the -t, -p, -i, or -r commands
+                    were used while another Wrapper instance was running.  In the case of the
+                    anchor file, this would result in the Wrapper being shutdown unintentionally.
+                    This was not an issue on non-Windows versions.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1108517&group_id=39428&atid=425187">Bug #1108517</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a security problem where the value of the
+                    <a href="prop-ntservice-account.html">wrapper.ntservice.account</a>
+                    and <a href="prop-ntservice-password.html">wrapper.ntservice.password</a>
+                    properties were being stored in plain text within the registry if they were
+                    specified on the command line when installing the Wrapper as a Windows service.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1110183&group_id=39428&atid=425187">Bug #1110183</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a pair of properties <a href="prop-ntservice-password.html#prompt">wrapper.ntservice.password.prompt</a> and
+                    <a href="prop-ntservice-password.html#mask">wrapper.ntservice.password.prompt.mask</a>
+                    which which will cause the Wrapper to prompt the user for an account
+                    password when it is being installed as an NT service.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added system properties to make it possible to configure whether or not
+                    the <a href="javadocs.html">WrapperSimpleApp</a> and
+                    <a href="javadocs.html">WrapperStartStopApp</a> helper classes will wait
+                    for the configured main methods to complete before reporting that the
+                    application has started.  See the <a href="javadocs.html">javadocs</a>
+                    for these classes for more details.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the HP-UX build so that it now dynamically links with the pthread
+                    library.  This was to make the binaries work with HP-UX 11.00.  Thanks to
+                    Sun Kun Choi for the patch.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add new <a href="prop-statusfile.html">wrapper.statusfile</a> and
+                    <a href="prop-java-statusfile.html">wrapper.java.statusfile</a>
+                    properties which can be used by external applications to monitor the
+                    internal state of the Wrapper or JVM at any given time.  These will not
+                    be useful to most users.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-commandfile.html">wrapper.commandfile</a>
+                    property which can be used by external applications to control the
+                    Wrapper and its JVM.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-java-idfile.html">wrapper.java.idfile</a>
+                    property which can be used by external applications to monitor the
+                    internal state of the JVM at any given time.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a warning on startup if the JVM has a SecurityManager set but the
+                    wrapper.jar has not been granted the AllPermissions permission.  Failure
+                    to do so will almost certainly lead to the Wrapper throwing a number of
+                    errors and this helps to point out the cause.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a security model which protects most Wrapper method calls when a
+                    SecurityManager has been registered.  See the
+                    <a href="security-model.html">Security Model</a> section
+                    for more details.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new pair of batch files which can be used to start and stop the
+                    Wrapper when installed as a service.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add new -q and -qs commands to the Windows version of the Wrapper which
+                    make it possible to query the currently installed status of the service.
+                    See the <a href="launch-win.html#status">Query Service Status</a>
+                    section for more details.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the
+                    <a href="prop-java-library-path-append-system-path.html">wrapper.java.library.path.append_system_path</a>
+                    property was not working correctly on Windows when the system PATH
+                    contained quotes.
+                    <a href="http://sourceforge.net/tracker/?func=detail&atid=425187&aid=1238726&group_id=39428">Bug #1238726</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the usage output of the Wrapper on all platforms so the Wrapper's
+                    version is now included.  It was not previously possible to get the version
+                    of the Wrapper being used without launching a JVM.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a pair of new methods <a href="javadocs.html">WrapperManager.stopAndReturn()</a>
+                    and <a href="javadocs.html">WrapperManager.restartAndReturn()</a> which
+                    make it possible for code to stop or restart the JVM and then continue until
+                    the JVM is shutdown.  This can be useful for shutdowns initiated within
+                    places like servlets, whose operation is expected to complete.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem on UNIX where the child JVM was sometimes leaving around
+                    zombie processes after a restart.  The SIGCHLD signal was not being handled
+                    correctly.  Thanks to Traun Leyden for the patch.
+                    <a href="http://sourceforge.net/tracker/?func=detail&atid=425187&aid=1291201&group_id=39428">Bug #1291201</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Implement the ability to catch control events using the WrapperEventLisener.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=836975&group_id=39428&atid=425190">Feature Request #836975</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add new <a href="prop-jvm-port.html">wrapper.jvm.port</a>,
+                    <a href="prop-jvm-port.html">wrapper.jvm.port.min</a>, and
+                    <a href="prop-jvm-port.html">wrapper.jvm.port.max</a>
+                    properties which make it possible to control the port the JVM uses to open
+                    a connection back to the JVM.  The Wrapper uses to leave this up to the
+                    OS, but some users were having problems with the default conflicting with
+                    other ports.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Switch from using ftime() to gettimeofday() on UNIX platforms to work around
+                    a problem where the Wrapper would not run on new versions of OSX because
+                    they deprecated the ftime() function call.  Thanks for the patch by
+                    Michael Macaluso.
+                    <a href="http://sourceforge.net/tracker/?func=detail&atid=425187&aid=1313162&group_id=39428">Bug #1313162</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Remove the shutdown timeout from the UNIX shell script.  It is not needed
+                    and can cause a zombie JVM if the wrapper's internal shutdown timeout was
+                    longer than that of the shell script.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add the ability to specify integer property values in base 8 or 16 in
+                    addition to base 10.  Base 8 values start with a '0' and base 16 values
+                    start with a '0x'.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Make it possible to set the umask on all files created by the Wrapper
+                    as well as the default umask of files created by the JVM.  Added new
+                    <a href="prop-java-umask.html">wrapper.umask</a>,
+                    <a href="prop-java-umask.html">wrapper.java.umask</a>,
+                    <a href="prop-java-umask.html">wrapper.pidfile.umask</a>,
+                    <a href="prop-java-umask.html">wrapper.lockfile.umask</a>,
+                    <a href="prop-java-umask.html">wrapper.java.pidfile.umask</a>,
+                    <a href="prop-java-umask.html">wrapper.java.idfile.umask</a>,
+                    <a href="prop-java-umask.html">wrapper.statusfile.umask</a>,
+                    <a href="prop-java-umask.html">wrapper.java.statusfile.umask</a>,
+                    <a href="prop-java-umask.html">wrapper.anchorfile.umask</a>,
+                    and <a href="prop-java-umask.html">wrapper.logfile.umask</a>
+                    properties.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Improve the message when the native library can not be loaded to make mention
+                    of the possibility of a 32/64 bit mismatch.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-monitor-thread-count.html">wrapper.monitor_thread_count</a>
+                    property which makes it possible to disable the Wrapper's counting of
+                    non-daemon threads and thus the shutting down of the JVM when they have all
+                    completed.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for BELOW_NORMAL and ABOVE_NORMAL options to the
+                    <a href="prop-ntservice-process-priority.html">wrapper.ntservice.process_priority</a> property.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1373922&group_id=39428&atid=425190">Feature Request #1373922</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Ignore '#' characters which are included within double quotes in the value
+                    of a property in the configuration file.  Unquoted values must be escaped
+                    with a second '#' characters or it will be interpreted as a comment.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Display the Wrapper banner in the JVM earlier so that it is displayed
+                    even where there are startup errors.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the WrapperSimpleApp and WrapperStartStopApp classes so that the
+                    WrapperManager is always initialized immediately.  This makes the output
+                    clearer in the event of startup errors.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the Windows ServiceManager was not correctly reporting
+                    a startup error if a service failed on startup.  The service was being
+                    reported as having started even though it failed to start.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem on UNIX versions where the Wrapper would go into a recursive
+                    state of attempting to launch the JVM from failed child processes if there
+                    was any problems executing the configured java process.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Rework the way the RUN_AS_USER setting in the UNIX shell script works so
+                    the specified user is now set regardless of the command being executed.
+                    To make sure the user never has to enter the password twice when running
+                    the script, it now recurses after changing the user.  The script then
+                    runs entirely as the configured user.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Improve the message that is displayed when attempting to start, stop, or
+                    remove a windows service which is not installed.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add new <a href="prop-lockfile.html">wrapper.lockfile</a> property
+                    which makes it possible to specify a lock file containing a pid.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modified the sh script so it now creates a lock file on startup in the
+                    /var/lock/subsys directory if it exists.  This is needed by fedora systems
+                    on shutdown.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Store javadocs in tar distibutions in a nested tar file to avoid problems
+                    with long filenames in some tar distributions.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem with the WrapperSimpleApp and WrapperStartStopApp helper
+                    classes where on heavily loaded systems it was possible for the Wrapper
+                    to get a running thread count of 0 and shutdown before the main thread
+                    had a chance to be started.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-thread-count-delay.html">wrapper.thread_count_delay</a>
+                    property which will force the WrapperManager to wait the specified number
+                    of seconds before it begins to check the number of running threads.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the <a href="prop-java-library-path-append-system-path.html">wrapper.java.library.path.append_system_path</a>
+                    property was appending the PATH rather than the LD_LIBRARY_PATH environment
+                    variable on Unix systems.  PATH is correct for Windows systems.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new wrapper.logfile.rollmode property which makes it possible to
+                    control how and when the logfile is rolled.  Feature Requests
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=864463&group_id=39428&atid=425190">#864463</a>,
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1085097&group_id=39428&atid=425190">#1085097</a>,
+                    and <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1085850&group_id=39428&atid=425190">#1085850</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem on Linux where the test for the status of the Java child
+                    process would sometimes fail causing the Wrapper to shutdown with the
+                    error "Critical error: wait for JVM process failed (No child processes)"
+                    rather than restart the child JVM.  Users who encountered this problem
+                    found it easy to reproduce, but it only happened on some systems.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the way the UNIX shell script tests for the existence of a process
+                    matching the pid in an existing pid file.  It now verifies the process
+                    command as well as the pid to fix a system reboot problem where a stale
+                    pid has been reused by another application, making the script think the
+                    wrapper was already running.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for the <a href="http://gcc.gnu.org/java/">GNU libgcj JVM</a>.
+                    Like JRocket, it requires slightly different thread counting.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for Linux 64-bit PPC and Solaris 32-bit x86 versions.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new set.default.ENV syntax to the configuration file making it
+                    possible to environment variable values which do not overwrite existing
+                    values, ie. to specify a default value.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added a new <a href="prop-console-flush.html">wrapper.console.flush</a>
+                    property which forces the wrapper to explicitly flush stdout after
+                    each line of log output.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Change the error shown when the JVM shuts down prematurely during a
+                    shutdown to a warning message.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the Wrapper would show the following error message
+                    if user code called System.exit from within the WrapperListener.stop
+                    callback method.  This would happen if the stop class's main method
+                    registered with the WrapperStartStopApp called System.exit.
+                    "JVM exited unexpectedly while stopping the application."
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=945976&group_id=39428&atid=425187">Bug #945976</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-syslog-ident.html">wrapper.syslog.ident</a>
+                    property which makes it possible to specify the identity used in syslog
+                    entries on UNIX.  This was possible in older versions but was set using the
+                    <a href="prop-ntservice-name.html">wrapper.ntservice.name</a> property.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1432855&group_id=39428&atid=425187">Bug #1432855</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for MacOSX Universal Binary distributions.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for Delta Pack distributions.  This is a distribution that
+                    contains
+                </p>
+            
+</li>
+        
+</ul>
+    
+</td>
+</tr>
+</table>
+    
+<a name="3.1.2"></a>
+<table cellpadding="2" cellspacing="0" width="100%" border="0">
+<tr>
+<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>Version 3.1.2: Changes and bug fixes</b></font></td>
+</tr>
+<tr>
+<td><img height="4" width="1" src="./images/spacer.gif"></td>
+</tr>
+<tr>
+<td>
+        
+        
+<ul>
+            
+<li>
+                
+<p>
+                    Modify the way boolean system properties are resolved by the WrapperManager
+                    so it is now possible to set them to true or false rather than assuming they
+                    are true if set.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where some localized error messages were not having their
+                    tokens replaced correctly.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem when using the WrapperStartStopApp helper class.  The usage
+                    text was incorrectly being displayed in the console if an exception was
+                    thrown while executing the main method of the configured stop class.  This
+                    did not change the functionality of the application, but it did cause some
+                    confusion.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem on Windows where a library path or class path which ended in
+                    a backslash was preventing the Wrapper from launching the JVM.  The Windows
+                    OS was using the backslash to escape the quote used to close the path.  The
+                    fix was to add a second backslash where needed.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added a new <a href="prop-java-command-loglevel.html">wrapper.java.command.loglevel</a>
+                    property which makes it possible to control the log level of the generated
+                    java command.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add support for escaped quotes when stripping quotes on UNIX for the
+                    <a href="prop-java-additional-n.html">wrapper.java.additional.&lt;n&gt;</a> and
+                    <a href="prop-app-parameter-n.html">wrapper.app.parameter.&lt;n&gt;</a>
+                    properties.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Change the default value of <a href="prop-jvm-exit-timeout.html">wrapper.jvm_exit.timeout</a>
+                    from 5 to 15 seconds.  The old default was too fast for some applications
+                    which take a while to exit.  Applications which were exiting promptly will
+                    not see any difference.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the JVM would restart at certain times when using the
+                    system time based timer due to an overflow error.  This problem was
+                    introduced in 3.1.0.  Due to a separate bug in 3.1.0, the Wrapper would
+                    shutdown rather than simply restarting the JVM as was happening in 3.1.1.
+                    The last restart happened on Aug 21, 2004.  It will next occur Oct 10, 2004
+                    and repeat at regular intervals.  There are no problems when using the new
+                    Tick based timer.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1014405&group_id=39428&atid=425187">Bug #1014405</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Correct the <a href="prop-logfile-maxsize.html">wrapper.logfile.maxsize</a>
+                    property so that a a kilobyte is now 1024 rather than 1000, and a megabyte
+                    is a megabyte.  We aren't a hard drive manufacturer after all.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add try-catch blocks around all thread entry points in the Windows version.
+                    This has always been done in the main function, but these blocks will help
+                    to narrow down the cause of problems should they ever be encountered in
+                    control or service handlers.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Centralize shutdown code on UNIX version in an appExit method as was already
+                    being done for Windows versions.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the build.sh was not correctly using the included ant
+                    if an ANT_HOME environment variable was defined.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-single-invocation.html">wrapper.single_invocation</a>
+                    property which will prevent multiple invocations of an application from being
+                    started on Windows platforms.  The shell script handles this on UNIX platforms.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=889123&group_id=39428&atid=425190">Feature Request #889123</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a crash problem introduced in 3.1.1, caused by a pair of uninitialized
+                    pointers.  The crash was possible on all platforms but would only happen
+                    if the Wrapper was started without any arguments.  It would not affect
+                    users running the Wrapper normally.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1018481&group_id=39428&atid=425187">Bug #1018481</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem with the run as user feature of the shell script on Solaris.
+                    Needed to be using /usr/xpg4/bin/id rather than /usr/bin/in if available.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=1024008&group_id=39428&atid=425187">Bug #1024008</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Replace calls to usleep with nanosleep on platforms where it is available.
+                    This was to fix an occasional hang on a specific Solaris machine.  It would
+                    occasionally hang on calls to usleep.  From research, it appears that usleep
+                    has problems when signals are encountered while sleeping.  Still testing
+                    whether or not this change solved the problem.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Upgrade the version of <a href="http://ant.apache.org/">Ant</a>
+                    included with source releases to 1.6.2 to fix some problems generating
+                    jni headers when building with Java 1.4.2.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Upgrade the version of <a href="http://cocoon.apache.org/">Cocoon</a>
+                    included with source releases to 2.0.4 to fix some problems generating
+                    documentation using Java 1.4.2.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Display a warning if the exit status of a JVM process ever returns the
+                    STILL_ACTIVE status on Windows.  There was no known problem here, just
+                    noticed it while looking over the code.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Display a descriptive error message on Windows if the the JVM process crashes
+                    due to an uncaught exception in native JVM code.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a test for invalid jvm arguments set using the
+                    <a href="prop-java-additional-n.html">wrapper.java.additional.&lt;n&gt;</a>
+                    properties.  Invalid arguments could cause the Wrapper startup to fail in
+                    non obvious ways if they are mistaken by the JVM as the main class.
+                </p>
+            
+</li>
+        
+</ul>
+    
+</td>
+</tr>
+</table>
+    
+<a name="3.1.1"></a>
+<table cellpadding="2" cellspacing="0" width="100%" border="0">
+<tr>
+<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>Version 3.1.1: Changes and bug fixes</b></font></td>
+</tr>
+<tr>
+<td><img height="4" width="1" src="./images/spacer.gif"></td>
+</tr>
+<tr>
+<td>
+        
+        
+<ul>
+            
+<li>
+                
+<p>
+                    Modified the way libwrapper.so is built on Solaris and Linux so that it
+                    no longer statically links its required libraries.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a file handle leak when calling WrapperManager.getUser or
+                    WrapperManager.getInteractiveUser on Windows platforms.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem introduced in 3.1.0 where the JVM would not be restarted
+                    correctly if it quit after a ping timeout to let the Wrapper resynch and
+                    restart it.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where CTRL-C was not being handled correctly if the console
+                    was configured to be shown when running as an NT service.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where signals fired at UNIX versions of the wrapper were
+                    not being handled correctly when the tick timer was being used.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a synchronization problem in the logging code which would
+                    occassionally cause the Wrapper to crash with an Access Violation.
+                    The problem was only encountered when the tick timer was enabled,
+                    and was only seen on multi-CPU systems.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=949877&group_id=39428&atid=425187">Bug #949877</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem when using the tick timer where the Wrapper would sometimes
+                    exit on startup due to an uncaught SIGALRM.  Only reported on multi-CPU
+                    Solaris systems.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the Wrapper would sometimes hang on shutdown if
+                    another thread called System.exit while the Wrapper was shutting down.
+                    <a href="http://sourceforge.net/tracker/?func=detail&aid=955248&group_id=39428&atid=425187">Bug #955248</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem introduced in 3.1.0 where a very very large CPU timeout
+                    warning message was being displayed if the system time was set back
+                    while using the default system timer.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added a new property, <a href="prop-anchorfile.html">wrapper.anchorfile</a>,
+                    which makes it possible to cause the Wrapper to shutdown by deleting
+                    an anchor file.  The UNIX sh script has been modified to optionally make
+                    use of this feature.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a debug message at startup which makes it clear which timer is being
+                    used.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    A Windows user reported that using forward slashes in the path the log
+                    file was failing.  Avoid this problem by always converting '/' to '\'
+                    in the <a href="prop-logfile.html">wrapper.logfile</a> property
+                    on Windows.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where it was not possible disable the wrapper log file as
+                    documented in the <a href="prop-logfile.html">wrapper.logfile</a>
+                    property.  Most likely broken way back in version 2.2.5.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add some additional error checks after calls to control the pipe between
+                    the JVM and Wrapper as well as improving the messages around other socket
+                    related error messages.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem on some HP-UX systems were not working correctly because
+                    the EAGAIN and EWOULDBLOCK constants are not equal with some compilers.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Change some of the defaults in the src/conf/wrapper.conf.in file which
+                    ships with the Wrapper to avoid confusion with new users.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Rewrote the routine which reads and logs console output from the JVM
+                    for Windows versions.  Internal buffers are now scaled dynamically,
+                    fixing a problem where long lines were being wrapped at 1024 characters.
+                    This rewrite also resulted in a 4 fold increase in speed when the JVM is
+                    sending large quantities of output to the console.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Increase debug output on UNIX platforms when a signal is caught.  When
+                    possible, information about where the signal came from is now logged.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modified the way log output from within signal handlers is handled so it
+                    is now queued and then logged by the main event loop.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Back out a 3.1.0 change where a JVM that had failed to exit cleanly was
+                    sent a SIGTERM prior to a SIGKILL.  The SIGTERM made no difference and
+                    slowed down the forced shutdown.  A modification to the event loop made
+                    the functionality more difficult to implement.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add the ability to set the user that the Wrapper and its JVM will run as
+                    from within the sh script on UNIX platforms.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add an icon resource to the Wrapper binary on Windows versions.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a typo in the UNIX sh script which caused an extra slash to be included
+                    in the path of the pid file.  Was not causing any known problems.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added support for 64-bit HP-UX.  Big thanks to Venkatesh Sellappa for
+                    supplying the patch.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a deadlock problem introduced in 3.1.0 with some FreeBSD systems.  Not
+                    all users were experiencing it, but those who did were able to reliably
+                    reproduce the problem.  The problem appears to have been caused by
+                    <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/64313">FreeBSD bug #kern/64313</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Make the signal handling variables in the wrapper native library volatile.
+                    Directly this was to fix a compiler warning on HP-UX64 systems but it
+                    should also make the calls more efficient.
+                </p>
+            
+</li>
+        
+</ul>
+    
+</td>
+</tr>
+</table>
+    
+<a name="3.1.0"></a>
+<table cellpadding="2" cellspacing="0" width="100%" border="0">
+<tr>
+<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>Version 3.1.0: Changes and bug fixes</b></font></td>
+</tr>
+<tr>
+<td><img height="4" width="1" src="./images/spacer.gif"></td>
+</tr>
+<tr>
+<td>
+        
+        
+<ul>
+            
+<li>
+                
+<p>
+                    The <a href="license.html">license</a> was revised for this version
+                    to include a copyright omission.  This change is to be retroactively applied
+                    to all versions of the Java Service Wrapper starting with version 3.0.0.
+                    The changes should have no effect on users.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    The Online documentation and web site were both reworked.  The logo has
+                    been updated so that Duke is no longer used.  The new online
+                    <a href="http://wrapper.tanukisoftware.org">site</a> now
+                    has the ability for users to append comments to any page.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added a new batch file which accepts commands like the UNIX shell script.
+                    The new file is offered as an alternative to the default batch files, and
+                    can be found at <tt>src/bin/AppCommand.bat.in</tt>.
+                    Thanks to Mike Castle for donating the new script.  See the new
+                    <a href="launch-win.html#command">Command-Based Script</a>
+                    section for more information.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    The Windows version of the Wrapper was not correctly registering that it
+                    would accept SHUTDOWN messages when running as a service.  The Wrapper
+                    was getting the message anyway so this should not change functionality.
+                    Thanks to Jason Tishler for noticing this and sending in a patch.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new property, <a href="prop-native-library.html">wrapper.native_library</a>,
+                    which can be used to specify the base name of the native library which is
+                    loaded by the WrapperManager class.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the WrapperManager class so it now stores references to System.out
+                    and System.err on initialization and always writes to those stored streams.
+                    This makes sure that all Wrapper console output always goes to the
+                    wrapper.log file even if user code overrides those streams with calls to
+                    System.setOut and System.setErr.  This was necessary to prevent deadlocks
+                    in such user code from affecting the functionality of the Wrapper.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fixed a problem where some environment variables where not being correctly
+                    loaded from the system registry when running as an NT service.  Big thanks
+                    to Eric Smith for tracking this down and submitting a patch.  It turns out
+                    that the putenv function was not being used correctly.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modified the way the wrapper.conf file is loaded so it will now read the
+                    contents correctly even if the line feeds in the file are incorrect for
+                    the current platform.  Windows line feeds had been causing problems when
+                    used on UNIX platforms.  
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=829896&group_id=39428&atid=425190">Feature Request #829896</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added a new property, <a href="prop-ntservice-console.html">wrapper.ntservice.console</a>,
+                    which allows a console to be displayed when running as an NT service.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fixed a problem where the <a href="prop-request-thread-dump-on-failed-jvm-exit.html">request thread dump on failed JVM exit</a>
+                    feature had never worked when running as an NT service.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=831775&group_id=39428&atid=425187">Bug #831775</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new property, <a href="prop-console-title.html">wrapper.console.title</a>,
+                    which makes it possible to set the title of the console in which the Wrapper
+                    is currently running.  This currently only works on Windows platforms.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added a new method, setConsoleTitle, to the
+                    <a href="javadocs.html">WrapperManager</a> class which
+                    enables the application to dynamically set the console title.  Like the
+                    <a href="prop-console-title.html">wrapper.console.title</a>
+                    property, this only works on Windows platforms.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Improved the algorithm of the <a href="prop-request-thread-dump-on-failed-jvm-exit.html">request thread dump on failed JVM exit</a>
+                    feature so that extremely large thread dumps will not be truncated when
+                    the JVM is killed.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where CTRL-C was being ignored by the WrapperManager if a
+                    WrapperListener is never registered.  This is not possible if the Wrapper
+                    is being used correctly but never the less a user did come across it.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add some additional debug output to help identify the cause of problems
+                    loading the native library.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    The WrapperManager class now checks to make sure that its current version
+                    matches the version of the native library and Wrapper.  If there are any
+                    discrepancies found then appropriate warnings will be displayed, but the
+                    Application will still be allowed to start.  This was added to make obvious
+                    the cause of problems resulting from mismatched versions.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Added a new property <a href="prop-use-system-time.html">wrapper.use_system_time</a> system time.  By setting this
+                    property to false, the Wrapper will start using a new experimental timer
+                    which uses a background thread to manage time rather than the system time.
+                    This has a number of advantages over using the system time and should give
+                    most users even more reliable behavior when the system is under high load
+                    or there are changes being made to the system time.  The timer is very
+                    critical to the operation of the Wrapper so the old behavior is left as
+                    the default for the time being until this feature has had the chance to be
+                    "time" tested.  If all goes well then this will be enabled as the default
+                    in a future version of the Wrapper.
+                    A pair of related properties, <a href="prop-use-system-time.html#prop-timer-fast-threshold">wrapper.timer_fast_threshold</a> and
+                    <a href="prop-use-system-time.html#prop-timer-slow-threshold">wrapper.timer_slow_threshold</a>
+                    were also added to aid in debugging.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Rework the logging code so it is now thread safe.  The addition of the
+                    timer thread means that there is now more than a single thread accessing
+                    that code.  This was causing problems as the two threads tried to use the
+                    same buffers.  As part of this change, a new format variable 'D' was added
+                    to display the thread which is doing the logging.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where a thread dump would be invoked if the
+                    <a href="prop-request-thread-dump-on-failed-jvm-exit.html">request thread dump on failed JVM exit</a>
+                    was enabled and the user forced an immediate shutdown by pressing CTRL-C
+                    more than once.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add getUser and getInteractiveUser methods to the <a href="javadocs.html">WrapperManager</a>
+                    class to make it possible for user code to query information about the user
+                    running Wrapper or the user who is interacting with the Wrapper and its JVM.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=812175&group_id=39428&atid=425190">Feature Request #812175</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    The Wrapper will now always exit with the exit code used to terminate the JVM
+                    whether System.exit is used or <a href="javadocs.html">WrapperManager.stop</a>.
+                    When running as an NT service the Wrapper now correctly returns the correct
+                    exit code to the service manager so failure recovery tools should now work
+                    correctly.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=852491&group_id=39428&atid=425190">Feature Request #852491</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a status command to the UNIX shell script which can be used to find out
+                    whether or not the wrapper is currently running.  Patch submitted by
+                    Joseph Benavidez.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the WrapperSimpleApp and WrapperStartStopApp so that the main method
+                    of a class is located even if it exists in a parent class rather than the
+                    class specified.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    To make debugging classpath problems easier, the Wrapper now verifies all
+                    classpath entries before launching a JVM and logs debug level warnings for
+                    any entries that do not exist.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where it was possible to define a zero length filter that would
+                    trigger on any output.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add some additional debug output to make it easier to debug startup,
+                    shutdown and restart problems.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Modify the way the Wrapper forcibly kills a frozen JVM on UNIX platforms so
+                    that it now sends a SIGTERM, waits up to 5 seconds, then sends a SIGKILL.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Add a new <a href="prop-java-library-path-append-system-path.html">wrapper.java.library.path.append_system_path</a>
+                    which will cause the Wrapper to append the system path to the generated
+                    library path.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=917902&group_id=39428&atid=425190">Feature Request #917902</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where spaces around the '=' character of a property definition
+                    were rendering the property invisible to the Wrapper.
+                    <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=916001&group_id=39428&atid=425187">Bug #916001</a>.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the first ping timeout after the JVM was started was
+                    still hard coded at 30 seconds.  This was causing a combination of large
+                    values of <a href="prop-ping-interval.html">wrapper.ping.interval</a>
+                    and <a href="prop-ping-timeout.html">wrapper.ping.timeout</a> to fail.
+                </p>
+            
+</li>
+            
+<li>
+                
+<p>
+                    Fix a problem where the JVM would fail to shutdown cleanly if the Wrapper
+                    was asked to stop too soon after launching a JVM.  This was leading to the
+                    JVM being killed after the shutdown timeout expired.

[... 1984 lines stripped ...]


Mime
View raw message