yajsw-stable-11.0
- Bug: System tray icon causes exception
- Bug: genConfig: does not handle jdk 6 wildcard in classpath: note: yajsw handles wild cards differently !
- Bug: error resolving wild cards in case classpath is "lib/ folder/*"
- Bug: Specifying java command in environment: better logging if command not found.
- Bug: Not equals configuration under Windows and Unix: replaced in unix batches yajsw with wrapper !!
- Change: wrapper.java.customProcName: if this is an absolute path, the given path is used.
- Change: wrapper.java.command must be a file: Windows: if .exe is missing it is automatically added.
- Change: Enhanced logging when determining java command.
- Change: update to jna release 3.4.0
- Change: update to netty release 3.3.1
- Change: update to groovy release 1.8.6
- New: Configuration property wrapper.save_interpolation, default: value true
- New: Configuration properties for windows services: wrapper.ntservice.delayed_autostart, wrapper.ntservice.failure_actions.reset_period, wrapper.ntservice.failure_actions.reboot_msg, wrapper.ntservice.failure_actions.command, wrapper.ntservice.failure_actions.action, wrapper.ntservice.failure_actions.action_delay
- New: property wrapper.ntservice.java.command for running the service wrapper process with a java command different then wrapper.java.command.
- New: property wrapper.ntservice.java.customProcName for copying the java command of the service wrapper process.
NOTE:
JBoss 7: runs only with java version prior to 6_17 or higher than 7_0.
yajsw-beta-10.12 December 18th 2011
- Bug: Error evaluating ${...} expressions in configuration. Error installing daemon on Linux
- Bug: yajsw-beta-10.11 manifest missing jars. Note: jars moved from lib/core to lib/extended
yajsw-beta-10.11 November 27th 2011
- Bug: Jboss 7 startup fails logging initialisation -> do not use java.util.logging in WrapperJVMMain
- Bug: Error resolving ".." and "." in wrapper.java.classpath property
- Bug: Reworked setenv.gv script
- Bug: Error parsing groovy script -> remove index.list from glazedlist jar file.
- Bug: PosixService.stop() fixed timeout. thanks to ddahlmann for the patch
- Bug: maxmemory parameter doesn't work without initmemory
- Change: Added logging in application scripts
- Change: Absolute Minimum Files To Run On Windows -> removed unused jar files, moved jar files to lib/extended
- Change: "Remember" environment variables and system properties
when installing a service. Up to now only interpolations were
"remembered"
- New: Interpolated config options become "hard coded" -> new configuration property: wrapper.save_interpolated, default value: true
- New: Sample configuration file for oracle odi
- New: Sample configuration file for JBoss 7
- New: Sample script for thread dump on application exit.
yajsw-beta-10.10 October 15th 2011
- Bug: genConfig: error parsing jvm options.
- Bug: process may not restart, if application start fails after first restart
- Bug: tray icon: possible port leak if connection fails.
- Bug: tray icon: multicast discovery: may cause message flood if running on multiple computers in a network
- Bug: windows: install service: bad java exe
- Bug: application not started on linux: new property: wrapper.fork_hack
- Bug: Linux: application restarts every 25 days.
- Change: tray icon: windows: close popup menue on mouse click.
note: java implements this only with awt, not with swing -> using
jna to listen to mouse events outside java. If anyone knows how to implement this for linux, pls let me know.
- Change: split ahessian.jar -> ahessian.jar, hessian4.jar in future these may be extracted to a separate project.
- Change: AbstractWrappedProcess: remove synchronized from stop(), so we can stop a process while it is restarting/starting.
-
New: added authentication to sendMail script.
- New: windows: UAC support: WrapperExe: if required, elevate process for service start, stop, install, remove.
- New: windows: support service installation with delayed autostart: wrapper.ntservice.starttype=DELAYED_AUTO_START
- New: tray icon: property wrapper.tray.look_and_feel = <L&F full class name>
- New: tray icon: display virtual and private memory.
yajsw-beta-10.9 August 14th 2011
- Bug: Corrupt source file in distribution
- Bug: NPE in ahessian.
- Bug: genConfig: Error parsing -jar with space in jar path.
- Bug: application not restarted on server with high load: Thread race issue
- Bug: Linux: genConfig: NPE.
- Bug: class not found exception in applications which use commons configuration: error in build script
- Bug: error in build script: adjusted dependencies
- Bug: misspelled "relative" in default configuration.
- Bug: RESTART state change trigger may stop the application
- Bug: Error in DateFileHandler.rotateDate() using 24h time
- Bug: monitor gc: could not find minorGCBean
- Bug: Windows: missing WrappedProcess.getCluster()
- New: method WrappedProcess.gc() & gc button in system tray icon console.
- New: method WrappedProcess.dumpHeap(String file) & dump heap button in system tray icon console
- New: method WrapperJVMMain.WRAPPER_MANAGER.signalStopping(long waitHint).Thanks to ddahlmann for the patch.
- New: method WrapperJVMMain.WRAPPER_MANAGER.getProperties().
- New: Windows: method WrapperJVMMain.WRAPPER_MANAGER.getStopReason().
Returns a string indicating why the application is being stopped:
"SERVICE", "COMPUTER", "USER", "PING_TIMEOUT", "RESTART", null. This
method can be called within a shutdown hook of the application.
- New: Tray Icon: Configuration properties: wrapper.ntservice.autoreport.waitready, wrapper.tray.text.dialog_exit_tray, wrapper.tray.text.dialog_stop, wrapper.tray.text.dialog_restart, wrapper.tray.text.dialog_exit_wrapper, wrapper.tray.commands. Thanks to shacharo for the patch.
- New: Tray Icon: Dialog before stopping wrapper/application/tray controlled by property: wrapper.tray.dialog. Default: true
- New: Tray Icon: Script to set tray icon state color
- New: windows bat: runConsoleW.bat, systemTrayIconW.bat
yajsw-beta-10.8 June 26th 2011
- Bug: Linux: daemon is not shut down cleanly
- Bug: wrapper.restart.reload_configuration error on application restart
- Bug: genConfig aborts for "java -jar app.jar"
- New: Windows Vista and higher: handle session 0 for services: wrapper.ntservice.logon_active_session: wait for user to logon and logon the application as this user. wrapper.ntservice.desktop: the name of the desktop for the application. Should be set to WinSta0\\Default.
- New: Configuration property: wrapper.java.monitor.gc, wrapper.java.monitor.gc.intervall to print gc logging to System.err
- New: Configuration property: wrapper.filter.missing.autostop.<n>.
Default true. If set to false the trigger will remain active after the
trigger has been activated, resulting in continuous trigger monitoring.
- Change: use commons EnvironmentConfiguration to resolve
environment variables in configuration -> correct handling of case
under windows.
- Change: systemInformation().totalRAM() hangs on some machines
-> avoid invocation if configuration does not require RAM
calculation
- Change: win64: got Process.getCommandline to work so we do not need to call wmi.
- Change: do not replace "\\" by "/" in environment variables.
- Change: newest jna and groovy libraries.
yajsw-beta-10.7 May 21th 2011
- Bug: Error restarting application when using wrapper.stop.conf
- Bug: Windows: wrapper.java.classpath.5=C:/test/yajsw/lib/core/commons/*.jar does not resolve files. Issue was: new File("C:").getAbsolutePath() returns current working dir instead of C:/
- Bug: Default startup timeout is 15 and not 30 as documented
- Bug: Linux: Error in environment variable expansion
- Bug: setting wrapper.app.pre_main.script causes class not found exception
- Bug: wrapper.restart.reload_configuration does not reload the configuration file.
- Bug: Deadlock if WrappedProcess.start() is called while process is restarting.
- New: Configuration Properties wrapper.java.monitor.deadlock, wrapper.java.monitor.heap for details please refer to the configuration documentation.
- New: Windows: wrapper.console.minimized for indicating if the console of the application should be minimized at startup.
yajsw-beta-10.6 March 19th 2011
- Bug: property should be wrapper.logfile.format instead of wrapper.logf.format
- Bug: class cast exception when wrapper.java.app.jar is set
- Bug: yajsw exception when using jrockit jvm.
yajsw-beta-10.5 March 6th 2011
This release is dedicated to
My Blind Tunes,
my kids' first android app. Please support them by downloading the app
and if you like it by giving them 5 stars rating. Thanks !
- New: logging format: added 'N' option -> display application name.
- New: one wrapper/service multiple processes: java -jar
wrapper.jar -c conf/p1.conf conf/p2.conf. Service name is taken from
the first configuration.
- New: maxStartup.gv sample script to check that application reports startup within a timeout by printing a "started" messasge on the console.
- New: sample for running eclipse equinox OSGI server with clean shutdown
- New: maxDuration.gv sample script for checking that an application does not run longer than a given duration
- New: gradle build script for yajsw
- Change: Default logging format: LPNTM
- Change: ahessian and srvmgr now in separate jars.
- Change: reworked logging.
- Change: reworked windows Cluster.java and Pdh.java
- Change: reworked FileUtils moved windows specific code to os.ms.win32 package
- Change: newest groovy and netty releases.
- Bug: Windows 2008 handling of user credentials in service
- Bug: groovy script initialization may cause memory leak if process is restarted often
- Bug: Windows: Windows Services manager reports error when service stops
- Bug: Environment variables are not set in application
- Bug: Linux: GenConfig: command line max 1024
- Bug: Remove shutdown hooks to avoid memory leaks
- Bug: In case wrapper.jar.app.jar is set, add the jar to the classpath
yajsw-beta-10.4 October 10th 2010
- Bug: Win64: Exception when switching application account -> use newest jna release.
- Bug: Vista: Wait for service to start before showing "service not started"
- Bug: Linux: account group not set
- Bug: Linux: NPE when starting a daemon
- Bug: Thread race condition within the wrapper when restarting an application.
- Bug: Ping timeout on Windows 2008
- New: new configuration property wrapper.app.env.<key>=<value> for setting application environment variables.
- New: Windows: WrapperJVMMain.WRAPPER_MANAGER.reportServiceStartup() and configuration property wrapper.ntservice.autoreport.startup
- New: Tested on Unbutu 10.10 32 and 64 bit, OpenJdk jdk 6
- Change: Windows: configuration file: convert environment keys to lower case.
- Change: newest netty release.
- Change: ahessian changes for android
- Change: wrapper.daemon.run_level_dir set to a script in wrapper.conf.default should handle most linux distros.
- Change: genConfig: do not set user account, since most users will comment this out.
- Known Issue: Linux: wrapper cannot reconnect to java application, wrapper file descriptors not closed on fork of application.
yajsw-beta-10.3 July 29th 2010
- Bug: ClasscastException when defining
wrapper.filter.trigger.1=,
wrapper.filter.script.1=,wrapper.filter.action.1=
- Bug: Defining wrapper.filter.trigger.1=x,
wrapper.filter.script.1=, wrapper.filter.trigger.2=x,
wrapper.filter.script.2= will execute only one script
- Bug: Windows Services: under high load, on server reboot,
or on
high value of wrapper.startup.delay, application start may take longer
than windows service timeout -> start application in a separate
thread and return to windows service controller asap
- Bug: under high load on application restart: restart
triggered by
multiple state changes -> supress restart if we are already
restarting.
- Bug: Linux: service does not start at boot
-> exit codes in line with LSB. On the same occasion: changed posix daemon template to conform to LSB
- Bug: [3011626] wrapper.script.STOP
doesn't work
- Bug: [3011629] Windows: service shutdown does not wait for application termination.
- Bug: Exception in CyclicBufferFileInputStream if file is closed.
- Bug: In case the same filter trigger fires for consecutive lines, at random the scripts are called with the wrong line.
- Bug: Cannot start application in case main method is inherited from a super class.
- !! Change: [3011629] new configuration properties:
wrapper.filter.script.<n>.timeout,
wrapper.script.<state>.timeout.
- Change: updated to newest releases of: groovy, jna, quartz,
velocity
- Change: System tray icon now uses asyncrhonous hessian over netty and
multicast discovery instead of rmi.
- Change: [3004022] Linux: a group is defined by setting
wrapper.app.account = <group>\<user> (note:
use \\ in
configuration file). if no group is configured change to
default group of the user.
- !! Change: Posix: the syntax of wrapper.daemon.run_level_dir has changed: wrapper.daemon.run_level_dir per default ist set to <wrapper.daemon.dir>/rcX.d, for Ubuntu this property should be set to /etc/rcX.d.
- !! Change: Posix: the property wrapper.daemon.k_order has been removed. Use wrapper.daemon.update_rc instead.
- !! New: Posix: wrapper.daemon.update_rc property for defining start and stop run levels. Syntax is similar to the update-rc.d command. Default value is the default of that command.
- New: System tray icon console: pause, clear & filter
console output.
- New: wrapper.filter.trigger.1=x,
wrapper.filter.script.1=, wrapper.filter.trigger.2=x,
wrapper.filter.script.2= will execute scripts and actions in
alpha-numeric order of trigger key (<n>) thus
allowing one to define the order in which scripts are invoked for the
same trigger or for the same state change.
yajsw-beta-10.2 April 12th 2010
- Bug: genConfig: generating configuration file for "java
-jar x.jar"
- Bug: Windows: when server is under high load: cannot stop
wrapped process: isRunning() returns true although process is stopped
- Bug: sendMail.gv: add try/catch - thanks to jeff 303 for
the patch
- !! Bug: since beta 10.1: Socket.ReuseAddress(true) in
wrapper -> multiple wrappers use same port.
- Bug: Mac OS X: genConfig uses posix methods instead of BSD.
- Bug: Mac OS X: socket exception when restarting
application. -> keep wrapper server socket bound on restart.
- Changed: removed counter in WrapperManagerImpl.
Now waiting until startup timeout.
- Changed: logging in WrapperManagerImpl if wrapper.debug=true
- Changed: extended JSW migration guide to include
environment variables
- New: experimental - multicast discovery: service manager
client
can discover service manager servers and the port on which they are
listening.
- New: sample configurations for activemq and jboss
- New: configuration property wrapper.java.debug.port
-> sets the java -Xdebug ... property and overrides
timeouts to maximum value
- New: configuration property wrapper.jmx.user, wrapper.jmx.password
-> sets the credentials for remote access to the wrapper jmx
server
- New: included sample security profile file. Fine grained
security profile can be generated using src\build\secmanager.
- New: wrapper.app.pre_main.script:
script executed before the
main method is invoked but after the WrapperManager has been configured
and a connection has been established to the wrapper.
yajsw-beta-10.1 February 20th 2010
- Bug: Windows: JVM crashed when getting process environment
- Bug: ServiceManagerServer: minor bugs.
- Bug: Linux genConfig: NullPointerException getting
classpath from environment
- Bug: Linux: Classpath File not found
- Change: Network Install: can use yajsw zip from sourceforge
- Change: Hessian Android-able, first step to service manager
client on android -> removed hessian.jar from lib folder
yajsw-beta-10.0 February 7th 2010
- Bug: genconfig : error parsing java command line
- Bug: Exception in VFS due to
DocumentBuilderFactory.newInstance(), when xerces is available in a jar
manifest but not in classpath
- Bug: genConfig: get CLASSPATH from process environment
- Bug: [2931270] Linux daemon only stops
after timeout expired
- Bug: Linux: File handlers not closed: handlers and pipes
are now closed
- Bug: Linux: ConnectionRefusedException on application
restart
- Bug: In case of gobler panic: do not restart if already in
restart state.
- Bug: Gobler checks old process -> used process id
- Bug: Linux: classpath wildcard error when path is absolute
- Change: WrappedProcess.stop(): stop process if process is
in state RESTART.
- Change: [2910062]move println to logging. Thanks to lokman
for the patch.
- New: ServicesManager client + server - prototype windows
only
- New: network loading: can load a zip -> does not
required webdav. Demo changed to run from yajsw.sourceforge.net
yajsw-alpha-9.5 November 24th 2010
- 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.