Thanks Katrina.
I was able to create a BAT script that is able to restart that service for me.
I will share it so anyone can use it.
This script do a find in the background log files for "java.lang.outofmemory" and creates a file that lists any file that has OOM error.
Then it checks the file created above to see if it has a size greater then 0(zero) if so it means OOM was found and the service needs to be restarted.
It creates a folder to store the log files, move all log files in that folder, and restart the services. That allows you to keep all log files where OOM was detected for future reference.
It is quite simple and I don't mind anyone using it or modifying it.
Regards,
Fabricio De Marchi
@echo off
setlocal
set ctime=%time%
set cfixtime=%ctime::=_%
set cfixtime=%cfixtime: =%
set datetimenow=%date:~-4%%date:~4,2%%date:~7,2%_%cfixtime%
set maxbytesize=0
set logsfolder=D:\Clarity\niku81\logs
set oomfolder=D:\Clarity\niku81\logs\outofmemory\%datetimenow%
set oomlogfile=%logsfolder%\oomlogfile.log
set fileswithoom=%logsfolder%\fileswithoom.txt
REM Find java.lang.outofmemory inside a file and restart backgrouns services
echo Start %date%, %time% > %oomlogfile%
REM Find any file with the outofmemory error,
REM this is limited to 5 in the log configuration
findstr /M "java.lang.OutOfMemoryError" %logsfolder%\bg-niku.log %logsfolder%\bg-niku.log.1 %logsfolder%\bg-niku.log.2 %logsfolder%\bg-niku.log.3 %logsfolder%\bg-niku.log.4 %logsfolder%\bg-niku.log.5 > %fileswithoom%
REM check if there was any OOM in the log files by checking the size of the result file
FOR /F "usebackq" %%A IN ('%fileswithoom%') DO set size=%%~zA
echo Files with OOM found. (%size%) >> %oomlogfile%
if %size% GTR %maxbytesize% (
echo create folder to store log files >> %oomlogfile%
mkdir "%oomfolder%" >> %oomlogfile%
echo Stop Background Service >> %oomlogfile%
net stop "Niku Background Server" >> %oomlogfile% 2>&1
echo Move log files to OOM folder >> %oomlogfile%
move /Y %logsfolder%\bg-niku.log %oomfolder% >> %oomlogfile% 2>&1
move /Y %logsfolder%\bg-niku.log.1 %oomfolder% >> %oomlogfile% 2>&1
move /Y %logsfolder%\bg-niku.log.2 %oomfolder% >> %oomlogfile% 2>&1
move /Y %logsfolder%\bg-niku.log.3 %oomfolder% >> %oomlogfile% 2>&1
move /Y %logsfolder%\bg-niku.log.4 %oomfolder% >> %oomlogfile% 2>&1
move /Y %logsfolder%\bg-niku.log.5 %oomfolder% >> %oomlogfile% 2>&1
echo Start Background service >> %oomlogfile%
net start "Niku Background Server" >> %oomlogfile% 2>&1
echo Move log file and findstr file to backup folder >> %oomlogfile%
move /Y %fileswithoom% %oomfolder% >> %oomlogfile% 2>&1
move /Y %oomlogfile% %oomfolder%
)