yajsw-alpha-9.5
- Bug: Posix: pid file location
- Bug: genConfig:
-Xms512m -Xmx1024m
-XX:MaxPermSize=256m not parsed correctly
- Bug: MacOsX fork process
- Bug: "operation on non socket" error on windows ->
switched
from mina to netty, so that we can use OIO
instead of NIO. Added HANDLE_FLAG_PROTECT_FROM_CLOSE in
WindowsXPProcess.start(). This seems to help, but do not ask me why.
- Bug: Since 9.4: error using commons Configuration in java
application. -> split wrapper.jar in 2 jars:
wrapper.jar,
wrapperApp.jar.
- Bug: Windows: service does not stop when application stops
- Bug: Restart native application
- Bug: Solaris installDaemon
- Bug: [2875747] Posix: wrapper.shutdown.timeout has no effect
- Bug: Posix: systemTrayIcon: start daemon -> daemon
may hang:
tray icon should not start a sub process but call
<link>
start
- Bug: Stack overflow in CyclicBufferFilePrintStream in case
wrapper is slower than application.
- Bug: [892090] Enabling the tray icon is broken and not well documented
- Change: Posix: added conf/pid/description to daemon script
header
- Change: optimized CyclicFileBuffer
- Change: [2897101] Posix: multiple daemon run
levels: wrapper.daemon.run_level_dir.<n>, wrapper.daemon.k_order.<n>, wrapper.daemon.s_order.<n>
for same <n> a k or s link is created in the given folder.
- Change: newest jna.jar and groovy.jar
- Change: genConfig: rewrite parsing java command line
-> tools.jar no longer required.
- Change: restructured src folder
- New: property to check how often a message must appear on
the screen within a time period: wrapper.filter.missing.trigger.<n>=poll
sucsessfull, 1, 10
- New: property to define a script for calculation of restart
delay. wrapper.restart.delay.script.
Thus restart delay can be set for example to a linear function, or to
check availability of resources before restarting.
- New: property to set a pre application script which is
executed
within the wrapped application before the main method is executed: wrapper.app.pre.script. This can be used to define network printers and disks before starting a service.
- New: Windows Cluster: New method process.cluster.groupInfo:
returns a Map<String, String> with <group-name,
current-node-of-group>. One may thus start/stop the
application
when specific cluster groups change.
- New: Java Web Start support: boot wrapper through java web
start
- New: enabled multiple commands: java -jar wrapper.jar -ity <conf> : install, start service and start tray icon.
NOTE:
take care when building wrapper.jar, wrapperApp.jar, wrapperWS.jar:
wrapper.jar
should not
include the classes: ...yajsw.app.*
except for *Impl*.
wrapperApp.jar
includes
only the classes ...yajsw.app.* + ...yajsw.boot.*
except for *Impl*
both have the same manifest.
wrapperWS.jar is built by running the class WebStartBooter with JVM
option -verbose:class and using JarBuilder (see src/builder/...). This
jar has to be signed. You may use build/sign.bat for this.
yajsw-alpha-9.4 September 20 2009
- Bug: NPE in WindowsXPProcess.kill
- Bug: windows: user account/password
- Bug: win64 reconnect: getting command line NPE in case
server is overloaded
- Bug: MacOsX: launchd typo
- Bug: endless loop in CyclicFileBuffer
- Bug: windows: service description corrupt
- Change: newest mina.jar and jna.jar
- New: loglevel STATUS, but log first 20 lines of app output
to see if something went wrong during startup.
- New: unit tests using testNG and Groovy and jmock
- New: groovy scripting in wrapper configuration ->
groovy jar now part of core libs
- New: enter passwords through CLI or system tray icon
NOTE: this release is buggy on MacOsX this will be solved in a next
release
yajsw-alpha-9.3 August 28 2009
- Bug: do not log restart when stopping service
- Bug: Windows: time out on service stop
- Bug: Remote Launch: /x/x could not be copied
- Change: service install: if service is already installed
uninstall it first then reinstall it
- Change: System Tray Icon now runs in a separate process.
New: Buttons for: stop wrapper, start service, wrapper thread dump
- Change: Remote Launch: allow /**/ pattern in path for
recursive folder download
- Change: JVMController: logging changed to info.
- Change: avoid jna multiple loading of same library
- New: cofiguration sample for Apache Derby
yajsw-alpha-9.2 August 20 2009
- Bug: wrapper hangs on cntrl-c
- Bug: network launch: webdav does not work -> new
configuration-snapshot jar
- Bug: network launch: handling of wild cards reworked. For
now supporting: .../*/*.jar only to one level.
- Bug: service wrapper stops before application if condition
script is active
- Bug: allow stopper configuration to set its own logging
properties
- Bug: system tray hangs on wrapper exit
- Change: jackrabit jar now includes only the webdav client
- New: network launching demo: remote launch tomcat
yajsw-alpha-9.1 July 28 2009
- Bug: vfs-snapshot, configuration-snapshot jars built with
jdk 1.6 instead of jdk 1.5
- Bug: [2828484] wrapper.java.initmemory.relative
yajsw-alpha-9.0 July 26 2009
- New: enable platform dependent includes:
include=${<system-prop>}.x.conf
- New:
wrapper.restart.reload_configuration
- New: Experimental: support jnlp similar
configuration: wrapper.codebase,
wrapper.cache,
wrapper.cache.local, wrapper.resource.<n>
- New: Support JNLP configuration
- New: support remote configuration file
- New: wrapper.startup.delay
- Bug: Windows:
Handle leak on native application restart
- Bug: genConfig throws Exception when java command contains
main args
- Bug: ubuntu 9.04-x86 crash in genConfig.sh
- Bug: when wrapper.control = TIGHT, do not stop application
on JVMMain.WRAPPER_MANAGER.restart()
- Bug: Windows: service requires long time to stop, since
alpha-8.4
- Bug: Windows bat files
- Bug: Posix shell scripts
- Bug: Linux daemon script generation
- Change: genConfig: service name of java application:
console title or main class name.
yajsw-alpha-8.4 June 1st 2009
- Bug: WrappedProcess.reconnect(pid) does not connect
- Bug: WrappedRuntimeProcess: wrapper.working.dir not set
- Bug: Exception on restart due to ping timeout
- Bug: call to java "-Ddir=c:\" will cause a parse exception
in the java launcher
- New: wrapper.control
- New: windows cluster aware: wrapper.windows.cluster.script
- Bug: GenConfig: split jvmArgs so that we can quote them
yajsw-alpha-8.3 May 4th 2009
- New: property wrapper.ntservice.additional.<n>
for setting service wrapper java options, generally this would be for
setting -Xmx
- New: property wrapper.exit_on_main_exception
for setting exit code of java application in case the main method
throws an exception
- Bug: wrapping groovy scripts.
- New: groovified YAJSW : WrapperBuilder
- New: Sample: nutch recrawl script, nutch solr crawl script
- Bug: Windows: on shutdown of wrapper jna
DeleteNativeLibrary exec may hang -> do not spwan this exec.
- Bug: wrapper.java.classpath.<n> = ${var}
not expanded
- Bug: replace out.print with log.info
yajsw-alpha-8.2 April 16th 2009
- New: Property wrapper.java.dump.override
= true : Output thread dump to the wrapper tee stream,
thus overriding any streams set with System.setErr()
- Bug: threaddump with backlog appender
- Bug: space in application jar path
yajsw-alpha-8.1 April 14th 2009
- Bug: Windows: avoid double quotes in command line when
starting a process or installing a service
- Bug: Windows: error in case classpath file has absolute
path.
- New: divided <yajsw>/lib directory to sub
directories. see here.
-> Allow for more compact
distributions
- Bug: thread dump: use "original" stream to bypass logger
streams.
yajsw-alpha-8.0 April 11th 2009
- NEW: configuration property wrapper.script.<state> wrapper.script.<state>
.args
- NEW : State SHUTDOWN
- NEW: configuration property wrapper.port, wrapper.port.min,
wrapper.port.max
- Bug: Posix, Windows: handling of spaces in path
- NEW: support for FreeBSD 32 and 64
- Change:
DEFAULT_EXIT_ON_MAIN_TERMINATE
= -1 for compatibility with JSW
- NEW: Linux, Solaris: System Tray Console: display threads,
cpu, memory, handles (handles == number of file descriptors)
- NEW: commandCondition.gv script
- NEW: runScript.bat to test scripts
- Change: Install Service:
"remember" the lookup variables (eg ${..}) so we run the service with
the same environment variables as those used when the service was
installed -> when an env var is changed the service has to be
reinstalled.
- Change: wrapper.java.command: first check if this
is relative to wrapper.jar parent folder (eg wrapper home), thus
defining wrapper.java.command=jre/bin/java will resolve to
<yajsw>/jre/bin/java if this file exists
yajsw-alpha-7.1 March 22nd 2009
- NOTE:
WrapperExe now sets its working dir -> may require change in
configuration if files are relative (example: use scripts/sendMail.gv
instead of ../scripts/sendMail.gv)
- Bug: Linux: + MacOsX: missing templates folder + templates
folder not used
- Bug: WindowsXPProcess: Exception while reading console
title under SYSTEM user
- Bug: wrong state of WrappedProcess in case process does not
start.
- Tested: Linux 64 bit (Suse 11.1 64 bit) :OK
- Tested: FreeBSD 32 bit (FreeBSD 7.1) : OK (note: does not
yet run on FreeBSD 64 bit)
- Bug: missing src folder
- Change: check arguments in groovy scripts
- Bug: parse trigger configuration properties.
- Change: package refactoring for BSD + MacOsX
- Tested: Oracle/JRockit JVM on Win32 : OK
- Change: add log to groovy scripts - see example in
sendMail.gv
- Change: log groovy script exceptions, so we may have these
on file.
- Change:
wrapper working directory: executing runConsole or startService or
startDaemon should work with the same configuration even if files are
relative -> set working directory of WrapperExe and
WrapperMainService* to the wrapper home directory (the location of
wrapper.jar)
- New:
Alpha Release for solaris. Tested runConsole with sol-10-u6-ga1-x86.
Note: could not get stdout/in/err -> workaround using default
file
numbers 0, 1, 2. genConfig + Daemon not yet tested.
yajsw-alpha-7.0 Feb 28th 2009
- New:
Initial Mac OS X support, Note: wrapper runs only with JDK 1.5 (32 bit)
Application may run on JDK 1.6 (64 bit), still buggy, no system tray
support
- Bug: Linux: daemon.vm
- New: Mac OS X:
wrapper.launchd.dir, wrapper.launchd.template properties
- Change: daemon.vm template and launchd.plist.vm
now in directory templates.
- Bug: Windows: Handle, thread, file, memory leak when
restarting process
- New:
Extended System Tray to include application and wrapper status,
application resources (currently only winodws), writing to System.in (
currently only standard ascii characters)
- New: full win64 support (tested on Windows 2003 x64).
Wrapper and Application may run on 64 bit jdk.
- Bug: TeeInputStream.
- Change: switched to MINA 2.0.0-M4 -> use Timer
instead of KeepAliveFilter
- Bug: Thread leak
- Change: reworked linux scripts
- Bug: class loading : slf4j issue
- Bug: Linux: System.out hangs
- Change:
wrapper.console.visible: default: false
- Change: using Cycler (Thread.sleep) instead of
Timer, so we are not influenced by system time changes.
- Change: pinger Thread with high priority, so we do not miss
pings.
- Bug: short living applications state remains running
yajsw-alpha-6.0 January 5th, 2009
- New: property wrapper.groovy:
wrap groovy scripts
- New: property wrapper.stop.conf
: stop a wrapped application by invoking another application
- Change: genConfig: paths in generated configuration are now
realtive to workingDir.
- New: script for sending SNMP traps
- New:
Linux:
properties wrapper.daemon.run_level_dir, wrapper.daemon.k_order,
wrapper.daemon.s_order.
wrapper -i now installs symbolic links to
daemon script
- New: property wrapper.ntservice.starttype, wrapper.ntservice.account, wrapper.ntservice.password
- Change: Linux: default pid dir: /var/run
- New:
property wrapper.app.account
and wrapper.app.password
Is
used for Linux and Windows. It is used for nt services, posix daemons,
and console applications.
- Bug: file conf/daemon.gv missing in alpha-5.1
- New: property wrapper.tray,
wrapper.tray.icon : enable system tray icon.
- New: script for displaying tray messages
- New: properties wrapper.java.maxmemory,
wrapper.java.maxmemory.relative, wrapper.java.initialmemory,
wrapper.java.initialmemory.relative
- Bug: Linux: spaces in command line calling application
removed.
- New: genConfig: get application account
- Change: Log file: directory is created if it does not exist
yajsw-alpha-5.1 December 22, 2008
- Bug: genConfig.bat and genConfig.sh
yajsw-alpha-5.0 December 21, 2008
- New: groovy scripts can now be passed arguments from the
wrapper configuration properties
- New:
condition scripts for controlling process execution through conditions
such as time interval, file existence, mail receiption etc.
- New: groovy scripts maintain their bindings between
invocations
- New: -q, -qs options for service status query
- Linux: configuration generator now available for Linux
- Linux:
java -jar wrapper.jar options -i (install) -t (start) -s(stop) -q/-qs
(query) are now available for Linux and Windows.
- -i creates a script for starting a wrapper daemon and
copies the file to /etc/init.d
- -t starts the daemon
- -s stops the daemon
- -u removes the script from the daemon dir.
- New: STATE_ABORT: in case the process could not be started
after max_failed_invocations.
yajsw-alpha-4.0 November 16 2008
- New:
Configuration Generator, Given the pid of a running process, generate a
configuration file to wrap the process (currently available only for
win32)
- New: JMX support
- Resolved bug with wrapper.tmp.path
yajsw-alpha-3.1 November 5 2008
- Resolved bug with wrapper.timer.cron
yajsw-alpha-3.0 November 2 2008
- repackaged source code, renamed some classes. NOTE:
org.rzo.yajsw.WrapperMain ->
org.rzo.yajsw.app.WrapperJVMMain
- added support for wrapping native exes. Restriction: cannot
reconnect to native exes.
- added support for Linux. The following functions are not
yet available for Linux: visible console, automatic install of daemons
- This version is stable on Windows and is being used in
production on win32 and win64
yajsw-alpha-2.0 August 20 2008
- Regular Expressions Filters
- Groovy and Shell Script actions
- Sample Groovy script for sending emails
- Job Scheduling with Quartz
- Windows services now bug free
- -Xrs is inherited to sub-processes if running as service
- Cpu affinity and process priority
- Automatic JVM selection
- Separate class loading for YAJSW libraries and for JVM
Application
yajsw-alpha-1.0 April 14 2008
Initial release
This Alpha 1.0 Release is a proof of concept implementing only the main
functions and configuration properties.